【问题标题】:JVM terminates when launching Eclipse MAT on Mac OS with J2SE 6.0在带有 J2SE 6.0 的 Mac OS 上启动 Eclipse MAT 时,JVM 终止
【发布时间】:2008-10-29 04:33:53
【问题描述】:

我最近发现了非常有用的Eclipse Memory Analysis Tool,它可以快速查找 Java 应用程序中的内存泄漏。不幸的是,在将我的 JDK 切换到 1.6(在 Mac OS 10.5 下)之后,JVM 在启动时立即终止。出现的只是一个对话框,说明“JVM 已终止”并带有“Exit code = -1”。

还有人遇到这个吗?也许有一种方法可以将其配置为使用不同的 JDK? (比如 1.5:它被证明是兼容的)

【问题讨论】:

    标签: java macos jvm memoryanalyzer


    【解决方案1】:

    要将 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 文件。

    【讨论】:

    • 我应该指出,我正在运行的不是eclipse,而是基于Eclipse平台的应用程序。话虽如此,我必须看看是否可以将 java 的路径作为命令行参数传递给应用程序。
    • MemoryAnalyzer 应该有一个类似的文件夹,因为它基于 Eclipse。
    【解决方案2】:

    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 位模式。

    【讨论】:

      猜你喜欢
      • 2012-01-04
      • 2014-12-31
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 2019-03-03
      • 2011-03-06
      • 1970-01-01
      相关资源
      最近更新 更多