Требуется виртуальная машина сервера, но она недоступна в JRE.Тогда какой пакет мне нужен: JRE, JDK? - PullRequest
5 голосов
/ 14 октября 2010

Это контекст: я только что разработал приложение, которое необходимо запустить в режиме SERVER (java -server).Я использую JSE SDK (JDK), и у меня нет проблем с запуском приложения, потому что JDK имеет виртуальную машину с сервером.Сейчас я пытаюсь создать установщик таким образом, чтобы люди могли устанавливать это приложение на свои компьютеры.Но в этот момент я заметил следующее:

JRE, установленное большинством пользователей (для запуска приложений Java), не имеет серверной виртуальной машины, поэтому мое приложение не будет работать.В связи с этим у меня вопрос:

  • Есть ли способ добавить серверную виртуальную машину в уже установленную JRE ???... какой пакет я должен предложить установить?JDK или JRE?

Я немного запутался ... не уверен, какие пакеты имеют серверную виртуальную машину или нет.

Ответы [ 3 ]

6 голосов
/ 22 сентября 2012

При желании вы можете включить сервер HotSpot VM с распространяемой копией JRE. Каталог 'jre \ bin \ server \' в частной JRE для JDK содержит виртуальную машину сервера HotSpot. Допустимо включать это в дистрибутивы JRE, если вы следуете требованиям, изложенным в README JDK.

Из README JDK 7:

На платформах Microsoft Windows JDK включает в себя виртуальную машину Java HotSpotTM Server и клиентскую виртуальную машину Java HotSpotTM. Однако JRE для платформ Microsoft Windows включает только клиентскую виртуальную машину Java HotSpotTM. Желающие использовать виртуальную машину Java HotSpotTM Server с JRE могут скопировать папку JDK jre \ bin \ server в каталог bin \ server в JRE. Поставщики программного обеспечения могут распространять виртуальную машину Java HotSpotTM Server со своими перераспределениями JRE.

http://www.oracle.com/technetwork/java/javase/jdk-7-readme-429198.html#jre (Получено 22.09.2012)

3 голосов
/ 14 октября 2010

Просто используйте режим клиента.

Вы не найдете хорошего решения. Вы можете предложить всем установить JDK, для которого включен режим сервера, но ваше приложение должно иметь более плавную доставку, чем это. Если бы вы доставляли ваше приложение на серверные ребята, вы могли бы легко сказать, что оно должно быть запущено в режиме сервера, и позволить им обработать его.

Режим сервера - это оптимизация для обмена времени запуска на длительные улучшения скорости. Это не должно требоваться для любого приложения, особенно для того, которое будет доставлено на клиентские машины.

1 голос
/ 15 августа 2011

Частная и общедоступная JRE - при установке JDK устанавливается частная среда выполнения Java SE (JRE) и, при необходимости, общедоступная копия. Частный JRE требуется для запуска инструментов, включенных в JDK. Он не имеет настроек реестра и полностью содержится в каталоге jre (обычно в C:\Program Files\jdk1.6.0\jre), местоположение которого известно только JDK. С другой стороны, общедоступный JRE может использоваться другими приложениями Java, содержится вне JDK (обычно в C:\Program Files\Java\jre1.6.0), зарегистрирован в реестре Windows (в HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft), может быть удален с помощью «Установка и удаление программ». , может или не может быть зарегистрирован в браузерах, и может или не может быть java.exe скопированы в системный каталог Windows (делает его системной платформой Java по умолчанию или нет).

JDK Установка и устранение неполадок.

...