Eclipse JDK设置如何影响系统的JDK设置
我试图在Mac OSX上编译引用第三方JAR的Grails应用程序。尽管我的系统的JRE和JDK设置为Java 1.6,但在访问JAR中的类时总是得到Compilation error: java.lang.UnsupportedClassVersionError: Bad version number in .class file
。此外,在测试现有的Grails应用程序时,应用程序的默认状态显示它正在Java 1.6中运行。所以我实际上没有更多的想法,而是试图改变Eclipse中的Java设置 - 我认为这很愚蠢,因为我没有使用Eclipse来开发这个应用程序 - 但是呃 - 现在我的应用程序在命令上编译线路工作得很好!Eclipse JDK设置如何影响系统的JDK设置
任何人都可以解释一下Eclipse在幕后做了什么吗? 我以前手动设置了JAVA_HOME,没有任何效果。
用于启动eclipse的JDK(JAVA_HOME)不一定是用于编译项目的JDK(JAVA_HOME)。
要了解JRE你Y可以为您的项目选择,检查喜好
General > Java Installed JRE
默认情况下,如果你还没有添加任何JRE,宣布将用于启动eclipse中一个唯一的(这可以在您的eclipse.ini
中定义)。
你可以添加任何你想要的其他JRE,包括一个与你的项目兼容的JRE。
之后,您需要在您的项目属性,以检查(或一般偏好)是干什么用的JRE,有着怎样的级别:
感谢您的快速回复,但我之前并未使用Eclipse作为特定项目 - 仅命令行和TextMate!在这里编译不起作用,因为我会用Java 5运行一个Java 6项目的“错误版本”错误。但是我没有 - 所有东西看起来都像Java 6一样。但是接下来我做了和你提到的一样的东西 - 我只是改变了Exclipse中的默认JRE,但没有将项目导入到eclipse中,也没有使用eclipse编译它。我仍然使用“grails compile”从命令行编译 - 现在编译突然成功,没有任何错误。听起来很奇怪。 – david 2009-09-16 08:21:38
>我刚换Exclipe中的默认JRE:如果您引用的声明“安装的JRE”不应该有任何副作用(除了重新编译在Eclipse中引用的现有项目...但是您说没有?那么为什么Eclipse会在第一个地方?) – VonC 2009-09-16 08:34:08
打开Eclipse(和进一步开发t)是我在eclipse中处理env变量时的最后一个想法 - 但我甚至没有在Eclipse中编译它 - 我只是将Eclipse中的默认JRE设置更改为1.6(命令在线JAVA_HOME已经是1.6之前),然后尝试(没有多少希望)再次在命令行上编译它 - 并且它工作正常。我无法解释我自己。 – david 2009-09-16 09:18:19