У меня есть сервер, который использует Java 6 для реализации Oracle. Но я хочу установить на нем Tomcat Apache Server, но с Java 8. Итак, чтобы не смешивать системную среду, вот что я хочу сделать:
-Получите Apache Tomcat и JRE / JDK в виде ZIP-форматов. Распакуйте их в папку и скажите моему Apache Tomcar использовать этот JRE / JDK.
НАСКОЛЬКО МНЕ ИЗВЕСТНО. Я могу редактировать JAVA_HOME и JAVA_JRE в файле catalina.bat, и сейчас я пробую это на ноутбуке. Я установил свой файл catalina.bat, но когда я пытаюсь запустить сервер apache через командную строку, я получаю сообщение «Ни переменные среды JAVA_HOME, ни JRE_HOME не определены (...)»
Это мой файл catalina.bat после того, как я его отредактировал.
echo Using CATALINA_BASE: "%CATALINA_BASE%"
echo Using CATALINA_HOME: "%CATALINA_HOME%"
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
if ""%1"" == ""debug"" goto use_jdk
echo Using JRE_HOME: "D:\ANDRES\Descargas\apache-tomcat-8.5.43-windows-x64\jre1.8.0_221\"
goto java_dir_displayed
:use_jdk
echo Using JAVA_HOME: "D:\ANDRES\Descargas\apache-tomcat-8.5.43-windows-x64\jdk1.8.0_221\"
:java_dir_displayed
echo Using CLASSPATH: "%CLASSPATH%"
Итак, мой вопрос в целом такой. Есть ли способ настроить сервер Tomcat для использования JRE_HOME с другого маршрута, который не определен в переменных системной среды?
Нет необходимости изменять catalina.bat
. Вы можете сделать это, установив переменные в setenv
сценарий вашей установки Tomcat. Похоже, вы используете Windows, поэтому вот пример setenv.bat
изменить JRE_HOME
и JAVA_HOME
.
Создайте файл %CATALINA_BASE%\bin\setenv.bat
со следующим содержанием:
set "JRE_HOME=D:\ANDRES\Descargas\apache-tomcat-8.5.43-windows-x64\jre1.8.0_221"
set "JAVA_HOME=D:\ANDRES\Descargas\apache-tomcat-8.5.43-windows-x64\jdk1.8.0_221"
exit /b 0
Таким образом, изменение переменных затронет только Tomcat, все остальные процессы используют %PATH%
и системные глобальные переменные, как всегда.
setenv
описывается в Документы Tomcat, глава 3.2