我正在使用 Eclipse (Indigo SR2) 开发一个 Scala 项目。今天我将我的机器更新为 Mountain Lion,因为我们需要 JDK 7 的一些功能。安装 JDK 7 工作正常:
$ java -version
java version "1.7.0_13"
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
在 Eclipse 中,我更改了以下设置:
- Java => 编译器 => 已安装的 JRE:使用路径添加 JDK1.7.0
/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home
- Java => 编译器 => 已安装的 JRE => 执行环境:将 JavaSE-1.7 设置为
JDK1.7.0
- Java => 编译器:合规级别:1.7
- Scala => 编译器:目标 = jvm-1.7
然后我重新启动 Eclipse 并尝试运行脚本。但是,我总是得到错误:
value getPlatformMXBean is not a member of object java.lang.management.ManagementFactory
所述方法仅在 Java 1.7 中可用,并且 Eclipse 似乎没有找到它,尽管命令单击它会显示类中的功能ManagementFactory
。关于 Eclipse => 配置显示它仍在使用 JDK 6 ( java.runtime.version=1.6.0_37-b06-434-11M3909
),但我需要 JDK 7。
所以我尝试了以下方法(如 StackOverflow 和其他网站上所述):
- 添加
-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/bin/java
到eclipse.ini文件(根据eclipse网站仔细检查路径,文件中的正确位置,并在中间添加换行符) - 将相同的内容添加到 Info.plist
$ /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse -vm /Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/
- 创建从 1.6 到 1.7 的符号链接
但运气不好,Eclipse 一直只从 JDK-6 开始。奇怪的是,我可以将 JRE 显式更改Run=>Run Configurations
为 JDK7,它会以这种方式运行。但我不想为每个可运行文件更改它。
有什么进一步的建议吗?
感谢 EECOLOR 的提示,我能够在 JDK7 运行良好的 Eclipse Juno 中使用 Scala 插件。但是,现在我遇到了似乎是依赖问题。我得到的异常可以在这里看到:https ://gist.github.com/anonymous/ac0f3a3655419e5149fa
奇怪的是,当我从命令行使用简单的java -cp JARFILE com.AND-SO-ON.file
. 为了构建源代码和获取依赖项,我们使用 SBT。
我的 Eclipse.ini 如下所示(Xmx 除外的默认设置):
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms40m
-Xmx1060m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
相同的项目(即实际上是相同的项目,而不仅仅是相同的代码)在 Eclipse Indigo 中运行没有依赖性问题。编辑:刚刚发现,这个异常是由 JDK7 引起的,而不是使用的 Eclipse 版本。