Я обновляю версию сервера приложений 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.