Узнайте, на чем работает JVM Eclipse - PullRequest
42 голосов
/ 17 февраля 2009

В настоящее время я пытаюсь настроить установку Eclipse и столкнулся с опцией "-vm". Другие посты на SO упоминали, что хорошо всегда использовать последнюю доступную JVM, потому что они продолжают улучшаться с точки зрения производительности, поэтому я, вероятно, сделаю это. Мне было интересно узнать, как вы можете узнать, на чем работает JVM Eclipse, если вы не указали параметр "-vm".

В документах я нашел следующее, но это не проясняет, как это будет выглядеть для JVM:

при передаче в исполняемый файл Eclipse этот параметр используется для поиска виртуальной машины Java, которая будет использоваться для запуска Eclipse. Это должен быть полный путь файловой системы к соответствующему исполняемому файлу Java. Если не указано, исполняемый файл Eclipse использует алгоритм поиска для поиска подходящей виртуальной машины . В любом случае исполняемый файл затем передает путь к фактической виртуальной машине, используемой для Java Main, используя аргумент -vm. Затем Java Main сохраняет это значение в файле eclipse.vm.

Ответы [ 4 ]

71 голосов
/ 17 февраля 2009

На самом деле, установленная Windows-> Preferences-> Java-> не показывает тот, под которым работает Eclipse, а только JRE по умолчанию, под которым он работает.

Чтобы увидеть, под каким Eclipse работает, перейдите в Справка-> О платформе Eclipse-> Подробности конфигурации и найдите свойство eclipse.vm.

Например:

eclipse.vm=C:\Program Files\Java\jre6\bin\client\jvm.dll
11 голосов
/ 17 февраля 2009

Согласно этой теме и этой теме :

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

6 голосов
/ 17 февраля 2009

Если вы перейдете в «Справка» -> «О платформе Eclipse» и нажмете кнопку «Сведения о конфигурации», отобразится некоторое время, но вы получите дамп всего, для чего затмение настроено ...

Я нашел эти 2 строки, которые вы ищете:

-vm

C: \ Program Files \ Java \ jdk1.6.0_10 \ bin .. \ jre \ bin \ client \ jvm.dll

0 голосов
/ 17 февраля 2009

Я думаю, что если вы делаете:
Окно-> Настройки-> Java-> Установленные JRE
вы увидите список JRE на вашем компьютере. Проверен тот, который использует затмение.

В качестве альтернативы, если вы войдете в диалоговое окно «Запустить конфигурации» и посмотрите на вкладку JRE, вы можете выбрать JRE для запуска там.

...