Узнайте, на чем работает JVM Eclipse
В настоящее время я пытаюсь настроить установку Eclipse и столкнулся с опцией "-vm". Другие посты на SO упоминали, что хорошо всегда использовать последнюю доступную JVM, потому что они продолжают улучшаться с точки зрения производительности, поэтому я, вероятно, сделаю это. Мне было интересно узнать, как вы можете узнать, на чем работает JVM Eclipse, если вы не указали параметр "-vm".
Я нашел следующее в документации, но это не проясняет, как это будет выглядеть для JVM:
при передаче в исполняемый файл Eclipse этот параметр используется для поиска виртуальной машины Java, используемой для запуска Eclipse. Это должен быть полный путь файловой системы к соответствующему исполняемому файлу Java. Если не указано, исполняемый файл Eclipse использует алгоритм поиска для поиска подходящей виртуальной машины. В любом случае исполняемый файл затем передает путь к фактической виртуальной машине, используемой для Java Main, используя аргумент -vm. Java Main затем сохраняет это значение в eclipse.vm.
4 ответа
На самом деле, установленная Windows->Preferences->Java-> не показывает тот, под которым работает Eclipse, а только JRE по умолчанию, под которым он работает.
Чтобы увидеть, под каким Eclipse работает, перейдите в Справка-> О платформе Eclipse-> Сведения о конфигурации и найдите свойство eclipse.vm.
Например:
eclipse.vm=C:\Program Files\Java\jre6\bin\client\jvm.dll
eclipse попытается определить местонахождение вашей JVM, используемой для запуска, путем изучения вашего пути.
Так что вы можете:
Создайте переменную окружения JAVA_HOME, которая указывает на ваш фактически предпочтительный JDK.
Таким образом, вы можете легко выбирать между установленными JDK.Поместите%JAVA_HOME%\bin в путь в любом месте, предшествующем
<windowsroot>\system32
, который также содержит двоичные файлы java, javaw & co.
Таким образом, java* в каталоге bin JDK вызывается всякий раз, когда он вызывается из пути.
Я верю, что другие посты расскажут вам, как найти то, что использует JVM eclipse.
Однако я интерпретировал ваш вопрос как: "что JVM будет использовать для затмения при запуске?" когда нет -vm
args используется.
После дальнейших исследований выясняется, что Eclipse будет искать JRE:
- либо непосредственно в каталоге установки (
<eclipse>\jre
): если вы скопируете содержимое любой установленной JRE в этот подкаталог, он будет выбран - в
C:\Program Files\Java\JRE...
, - в
%PATH%
(см. выше)
Прочтите также этот SO-ответ, чтобы узнать, почему Eclipse по умолчанию выберет jvm.dll вместо javaw.exe.
Если вы перейдете в "Справка" -> "О платформе Eclipse" и нажмете кнопку "Сведения о конфигурации", отобразится некоторое время, но вы получите дамп всего, для чего затмение настроено...
Я нашел эти 2 строки, которые вы ищете:
-vm
C: \ Program Files \ Java \ jdk1.6.0_10 \ bin.. \ jre \ bin \ client \ jvm.dll
Я думаю, что если вы делаете:
Окно-> Настройки->Java-> Установленные JRE
вы увидите список JRE на вашем компьютере. Тот, который проверен, тот, который использует затмение.
В качестве альтернативы, если вы войдете в диалоговое окно "Запустить конфигурации" и посмотрите на вкладку JRE, вы можете выбрать JRE для запуска там.