1

在我的工作计算机上,我安装了带有 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?基本上我需要代码在我的工作计算机和家用计算机上运行。

4

3 回答 3

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 的指出!

于 2012-08-15T04:18:03.157 回答
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/

于 2012-08-15T04:25:05.500 回答
2

这将要求您在 Windows 机器上安装 Java 1.6。1.7 和 1.6 之间存在语法不兼容(以及一些 API 差异)。

在 Netbeans 中,右键单击项目节点并选择“属性”。从属性对话框中,选择源。在对话框底部,您应该看到“Source/Binary Format”,从下拉列表中选择“JDK 6”

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

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

现在你应该可以找到它了

更新

从“su-”的评论中,您可以简单地将“源/二进制格式”选项更改为 1.6

于 2012-08-15T04:20:13.617 回答