我试图在 Mac OSX 上编译引用第三方 JAR 的 Grails 应用程序。尽管我系统的 JRE 和 JDK 设置为 Java 1.6,但我总是遇到 Compilation error: java.lang.UnsupportedClassVersionError: Bad version number in .class file
访问 JAR 中的类时。此外,在测试现有的 Grails 应用程序时,应用程序的默认统计信息显示它正在使用 Java 1.6 运行。所以我真的没有比尝试更改 Eclipse 中的 Java 设置更多的想法——我认为这很愚蠢,因为我没有使用 Eclipse 来开发这个应用程序——但是瞧——现在我的应用程序在命令上的编译线路工作得很好!
任何人都可以向我解释一下 Eclipse 在幕后做了什么吗? 我之前手动设置了 JAVA_HOME 没有效果。
最佳答案
用于启动 eclipse 的 JDK (JAVA_HOME) 不一定是用于编译项目的 JDK。
要查看您可以为您的项目选择什么 JRE,请检查首选项
General > Java Installed JRE
默认情况下,如果您没有添加任何 JRE,则唯一声明的将是用于启动 eclipse 的那个(可以在您的 eclipse.ini
中定义)。
您可以添加所需的任何其他 JRE,包括与您的项目兼容的 JRE。
之后,您将需要检查您的项目属性(或在一般首选项中)使用了什么 JRE,符合什么级别:
关于eclipse - Eclipse JDK设置如何影响系统的JDK设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1431531/