我在Eclipse中将Java Compiler Compliance Level设置为1.6。
同事在仅运行Java 6且在Unsupported major.minor version: 51
执行失败的计算机上运行了一些二进制文件。
我们没有(还有*)自动构建/ CI系统:Ant任务从Eclipse的自动构建工作区函数编译的裸bin/
目录内容构建JAR。不是(还是*!)使用javac 。我只在我的机器上运行JDK 7,我没有JDK 6的痕迹。
问题非常简单:设置合规性级别是否会影响输出二进制文件版本,还是仅阻止您使用新运行时的类型/语法?
* Yet
表示我们正在努力
答案 0 :(得分:1)
合规级别是eclipse在编译/警告/建议功能时理解语言功能
您还需要设置
将JRE安装到适当版本的JDK(注意:JDK)
已安装的JRE位于
偏好 - > Java - >安装JRE
答案 1 :(得分:0)
正如您所提到的,您已经在JDK 7上编译了代码,而您的同事使用JAVA 6二进制文件运行它。这就是他/她失败的原因"不支持的major.minor版本:51"。
如Jigar所述,设置合规性级别只是说eclipse根据指定的JDK调整警告/建议,但代码实际上只使用已安装的JRE / JDK进行编译。
请安装JDK版本6并转到首选项 - > JAVA->已安装的JRE - >添加 - >从您的机器中选择JDK 1.6。干净& amp;建立你的项目。 这将编译您的代码以便能够在JRE 6上运行。
希望它有所帮助。