2012-11-05 75 views
0

因为我不知道所有的技术术语,但这里是我的问题:我试图使用我从计算机上下载的其他人的代码(Mac OS X Lion )。它来自使用JRE 1.7的计算机,当我尝试在我的Java版本(JRE 1.6)上运行它时,它会引发错误。Mac jre/jdk 1.7不能正常工作

我已经下载并安装了JRE 1.7多次,当我尝试从我的“安装的JREs”菜单(系统/库/ Java/JavaVirtualMachines)中添加它时,它甚至没有。

^可能有这个糟糕的措辞,但基本上我无法添加JRE 1.7作为我当前的Java运行时环境。

作为最后的手段,我只想知道如何在1.6中使用1.7代码(直接复制它仍然有错误)。

+1

JDK7不会在'/ System'下,因为它实际上不再是捆绑的系统组件。 – millimoose

+2

对于它的价值,安装Oracle Java 7 JDK使其成为我的默认(命令行)。另外,在1.6版本中使用1.7代码的方式正在赶上编写它的人来支持Java 1.6。如果你不知道如何移植它,那么它就不在SO解释的范围之内了。 – millimoose

回答

1

如果您使用DMG安装了JDK 7,请检查此位置是否存在?

/Library/Java/JavaVirtualMachines/jdk1.7..jdk/Contents/Home

如果是的话,添加一个新的JRE与此位置,它应该工作。

它对我有用,我的Macbook上安装了Java 6和Java 7。

+0

当我进入Java虚拟机菜单时,无法点击jdk1.7..jdk。它变灰了。 – user1801325

+0

jdk1.7..jdk取决于您安装的JDK的版本,在Finder窗口中打开并找出位置。 – Pankaj

+0

它说jdk1.7.0_09.jdk我怎么得到这个不会变灰,以便我可以选择它时,将其添加到我的JRE? – user1801325

0

我不知道你如何在Mac上安装JDK 7,但是...

作为最后的手段我只是想知道我可以在1.6使用1.7代码(直接复制它在仍然给错误)。

这很可能是您收到异常,告诉您类文件版本号不正确。类文件版本号在Java 6和Java 7之间递增,这意味着为Java 7编译的应用程序将不会在Java 6上运行。

可能可能工作的一个选项是让其他人编译带“-source 1.6 -target 1.6”的代码。然而,这只会工作,如果:

  • 代码没有使用任何新的Java 7语法的扩展,并且
  • 的代码不使用任何Java 7特定类或方法。