JVM завершает работу при запуске Eclipse MAT на Mac OS с J2SE 6.0
Недавно я обнаружил невероятно полезный инструмент анализа памяти Eclipse, который позволяет быстро находить утечки памяти в приложениях Java. К сожалению, после переключения JDK на 1.6 (в Mac OS 10.5) JVM завершает работу сразу после запуска. Все, что появляется, - это диалог "JVM прекращен" с "Exit code = -1".
Кто-нибудь еще сталкивался с этим? Возможно, есть способ настроить его на использование другого JDK? (например, 1.5: с которым было показано, что он совместим)
2 ответа
Чтобы настроить Eclipse для использования другой виртуальной машины, используйте следующую командную строку:
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>
-->
Для анализатора памяти вы можете найти файл Info.plist в MemoryAnalyzer.app/Contents.
Официальная Java 6 для Mac имеет только 64-битную модель данных. К сожалению, Eclipse использует Carbon на Mac, который доступен только в 32 битах. Короче говоря, невозможно запустить Eclipse с официальным дистрибутивом Java 6.
Классическое решение этой проблемы - установить виртуальную машину по умолчанию на Java 5, а затем выбрать Java 6 в качестве JRE/JDK в Eclipse.
Если вам действительно нужно запустить Eclipse с Java 6, то вы можете взглянуть на SoyLatte, который является сборкой OpenJDK, которая поддерживает 32- и 64-битные режимы.