我最近发现了非常有用的Eclipse 内存分析工具,它可以快速查找 Java 应用程序中的内存泄漏。不幸的是,在将我的 JDK 切换到 1.6(在 Mac OS 10.5 下)之后,JVM 在启动时立即终止。出现的只是一个对话框,用“退出代码 = -1”声明“JVM 已终止”。
还有人遇到这个吗?也许有一种方法可以将其配置为使用不同的 JDK?(例如 1.5:它被证明是兼容的)
我最近发现了非常有用的Eclipse 内存分析工具,它可以快速查找 Java 应用程序中的内存泄漏。不幸的是,在将我的 JDK 切换到 1.6(在 Mac OS 10.5 下)之后,JVM 在启动时立即终止。出现的只是一个对话框,用“退出代码 = -1”声明“JVM 已终止”。
还有人遇到这个吗?也许有一种方法可以将其配置为使用不同的 JDK?(例如 1.5:它被证明是兼容的)
要将 Eclipse 配置为使用另一个 VM,请使用以下命令行:
eclipse -vm <path to java>
您还可以在 Eclipse.app/Contents/Info.plist 中指定路径。有这样一段:
<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options:
<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string>
<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string>
-->
对于内存分析器,您可以在 MemoryAnalyzer.app/Contents 下找到 Info.plist 文件。
Mac 的官方 Java 6 只有 64 位数据模型。不幸的是,Eclipse 在 Mac 上使用了 Carbon,它只提供 32 位版本。简而言之,使用官方 Java 6 发行版运行 Eclipse 是不可能的。
对此的经典解决方案是将默认 VM 设置为 Java 5,然后在 Eclipse 中选择 Java 6 作为 JRE/JDK。
如果你真的需要用 Java 6 运行 Eclipse,那么你可以看看SoyLatte,它是 OpenJDK 的一个版本,它同时支持 32 位和 64 位模式。