Назад | Перейти на главную страницу

Почему JDK устанавливается с веб-серверами / серверами приложений?

Я обновляю версию сервера приложений JDK до 1.6. Однако я не понимаю, почему нам нужно размещать JDK на сервере приложений вместо JRE?

Поскольку нет необходимости в повторной компиляции кодов на серверах приложений.

Повлияет ли обновление JDK на какое-либо хранилище ключей? Поскольку я указываю JAVA_HOME на другой новый путь.

Ценю и спасибо за информацию.

Требование JDK или JRE зависит от самого сервера приложений. (например, JBOSS, tomcat, glassfish и т. д.) и его стратегии компиляции в байт-код, а также то, как он определяет свои зависимости при запуске.

В строгом смысле, если ваше Java-приложение просто выполняет байтовый Java-код в форме классов, тогда вы сможете обойтись только JRE. Однако, верно это или нет, зависит от стратегии сервера Java-приложений: либо проверять установленный JDK в качестве защиты при запуске, либо просто генерировать исключение в какой-то момент, когда запрашивается компиляция.

Некоторые серверы приложений используйте javac для компиляции jsp в файлы классов и, следовательно, зависят от установленного системного JDK, это можно сравнить с, скажем, Кот, который включает в себя собственный компилятор для jsps, поэтому может работать под JRE.

Хранилище ключей java - это функция Java SE, и openJDK и Hotspot ссылаются на файл $ JAVA_HOME / lib / security / java.security, чтобы выбрать свои значения по умолчанию.

Если вы не изменились $JAVA_HOME/lib/security/java.security, реализация файла keystore.type = jks по умолчанию ищет $HOME/.keystore следовательно, вы можете изменить местоположение, и версии sunJDK 1.5 и 1.6 используют этот формат и местоположение по умолчанию.

так в основном меняется $JAVA_HOME не повлияет на расположение хранилища ключей

(если вы не переместили хранилище ключей в папку $ JAVA_HOME ...)

но это может иметь значение, если вы используете какого-либо поставщика, отличного от стандартного, или установили некоторые параметры, отличные от параметров по умолчанию в java.security.