Узнайте, на чем работает 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 для запуска там.

Другие вопросы по тегам