不支持major.minor版本.51并在java 1.6上运行java 1.7代码

时间:2012-08-15 04:11:11

标签: java

在我的工作计算机上,我安装了带有JDK 1.7的Windows 7 x64。我在Netbeans创建了一个项目,一切顺利。然后我将我的项目复制到运行Mac OS X 10.6的家用计算机上,该计算机运行的是JDK 1.6。构建失败,并显示有关不受支持的major.minor版本.51的错误消息。谷歌搜索和搜索得出结论,这是因为JDK版本不匹配。 Oracle不允许在Mac OS X 10.6上安装JDK 1.7,因此我在Mac上遇到了JDK 1.6。

有没有办法可以使用我的1.7代码并在运行JDK 1.6的Mac OS X 10.6上构建和运行它?或者我可以将我的代码带回我的JDK 1.7机器并将兼容性降级到1.6吗?基本上我需要在我的工作计算机和家用计算机上运行代码。

3 个答案:

答案 0 :(得分:3)

除非您使用新的1.7语法/库,否则使用JDK 1.6

构建类应该没有问题

您还可以使用1.7编译器生成1.6兼容的.class,类似于运行

javac -source 1.6 -target 1.6 MyClass.java

或者如果您使用的是Eclipse,则可以在设置对话框中进行设置。

所以答案是,两种方式都适合你。


编辑:

纠正了我的回答。

-source必须是1.6

感谢Stuart Marks的指出!

答案 1 :(得分:3)

在NetBeans中打开“项目属性”,并将平台和语言级别设置为6(或1.6)。然后清洁和建立。但是,您不能使用任何Java 7功能。您应该可以在Windows上使用现有的Java 7安装来执行此操作;您不需要安装Java 6。

或者,您可以在运行10.6的Mac上安装非官方的OpenJDK 7版本。在这里查看下载内容:

http://code.google.com/p/openjdk-osx-build/

答案 2 :(得分:2)

这将要求您在Windows框中安装Java 1.6。 1.7&和1.7之间的语法不兼容1.6(以及一些API差异)。

在Netbeans中,右键单击项目节点,然后选择“属性”。从属性对话框中,选择源。在对话框的底部,您应该看到“源/二进制格式”,从下拉列表中选择“JDK 6”

选择“图书馆”。在对话框的顶部,您应该看到“Java Platform”,从下拉列表中,您需要选择“JDK 1.6”

如果找不到,请点击“管理平台”。单击“添加平台”,浏览到安装Java 6的位置(通常在C:\ Program Files \ Java中)并选择它。点击“完成”。

现在你应该能够找到它

<强>更新

通过“su-”发表的评论,您可以轻松地将“源/二进制格式”选项更改为1.6