Я пытаюсь установить Apache Tomcat на машине с Windows Server 2003. Если я использую версию командной строки (catalina.bat start
) все работает нормально, но если я попытаюсь использовать его в качестве службы Windows, кажется, что он получит неправильное значение для JAVA_HOME
- он игнорирует установленную мной переменную среды и использует путь времени выполнения, а не путь JDK. В результате мои скрипты не компилируются, и приложение не запускается.
Я использую довольно старую версию всего: Tomcat 4 и Java 1.4.2_19 (это устаревшее приложение, которое у меня нет времени обновлять сейчас - я просто хочу запустить его для фазы 1).
У меня установлен JDK в C:\j2sdk1.4.2_19
и Tomcat установлен в C:\Program Files\Apache Software Foundation\Tomcat 4.1
. Параметр «Виртуальная машина Java» для службы установлен на C:\j2sdk1.4.2_19\jre\bin\client\jvm.dll
. В JAVA_HOME
переменная среды установлена на C:\j2sdk1.4.2_19
.
Когда я пытаюсь запустить свое приложение, оно записывает в журнал следующую ошибку:
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the
classpath. Perhaps JAVA_HOME does not
point to the JDK. It is currently set
to "C:\j2sdk1.4.2_19\jre"
т.е. добавлен дополнительный "\jre
"к JAVA_HOME
этого не должно быть!
Я также задавался вопросом, может ли это быть параметр реестра, но я посмотрел во всех очевидных местах. HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat4\Parameters\Java\JavaHome
установлен на то же, что и JAVA_HOME
переменная среды, как и JavaHome
ключ под такими местами, как JavaSoft\Java Development Kit\1.4
и JavaSoft\Java Runtime Environment\1.4.2_19
.
Я начинаю разочаровываться, пытаясь понять, почему это не сработает!
Я исправил это в конце, запустив командное окно, установив JAVA_HOME
соответствующим образом, затем запустив следующие скрипты из Tomcat bin
каталог:
service.bat remove
service.bat install
Я не знаю, как это удалось, но это изменило конфигурацию службы для использования нового значения JAVA_HOME
.
Проверьте соответствующий раздел реестра. Вот мой:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Apache Software Foundation \ Procrun 2.0 \ Tomcat7.55 \ Parameters \ Java
изменить значение ключа Jvm
Я столкнулся с аналогичной проблемой с Tomcat 6 и Java 6. (я понимаю, что вы говорите о Tomcat 4 и Java 1.4)
Я бы отметился appwiz.cpl
установлена ли на машине JRE 1.6 * - потому что если это так, то JAVA_HOME больше не берется из переменных среды, а из записи реестра, созданной при установке JRE 1.6. (В худшем случае вы можете редактировать %TOMCAT_HOME%/bin/catalina.bat
и установить JAVA_HOME
что указывает на ваш хороший JDK ///)
Соответствующая ссылка может быть