我有一个Maven Eclipse应用程序,我试图通过命令提示符使用以下命令运行:
java -cp target/classes;"target/dependency/*" com.example.Main
不幸的是,它抛出一个错误:
UnsupportedClassVersionError : unsupported major.minor version 51.0
我做了一些挖掘,发现它与一个更新版本的JDK上编译的应用程序,它运行的JRE有关。显然,51意味着它是为1.7,但我没有在我的电脑上的JDK 7 …
所以我确保一切都设置为版本1.6:
system.properties文件在根目录中
java.runtime.version=1.6
添加了maven属性
1.6
在我的pom.xml中指定maven编译器插件
org.apache.maven.plugins
maven-compiler-plugin
2.1
1.6
1.6
我检查了我的java版本,使用命令java -version返回
Java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-bit Server VM (build 20.13-b02, mixed mode)
并且设置maven-compiler-plugin后我的项目更新导致Eclipse自动将编译器级别设置为1.6,项目构面级别为1.6,并将JavaSE-1.6 jre系统库添加到我的项目。
所以我绝对不知道这个JDK 1.7是从哪里来的。我从来没有在这台计算机上安装JDK 1.7开始…
此外,最初,maven编译器插件不存在,所以它是用1.5我的猜测。但我做了一个mvn干净的安装,然后一个mvn包,然后尝试该命令后所有的设置被调整,它仍然引发相同的错误。
任何帮助将不胜感激。