Estou tentando configurar o Apache Tomcat em uma máquina com Windows Server 2003. Se eu usar a versão de linha de comando ( catalina.bat start
), tudo funciona bem, mas se eu tentar usá-lo como um Serviço do Windows, ele pega o valor errado para JAVA_HOME
- ele ignora a variável de ambiente que eu configurei, e está usando o caminho de tempo de execução em vez do caminho do JDK. Como resultado, meus scripts não serão compilados e o aplicativo não será executado.
Estou usando uma versão bastante antiga de tudo: Tomcat 4 e Java 1.4.2_19 (é um aplicativo legado que não tenho tempo para atualizar no mo - só quero colocá-lo em funcionamento, para a fase 1) .
Eu tenho o JDK instalado em C:\j2sdk1.4.2_19
e o Tomcat instalado em C:\Program Files\Apache Software Foundation\Tomcat 4.1
. A configuração "Java Virtual Machine" para o serviço está definida como C:\j2sdk1.4.2_19\jre\bin\client\jvm.dll
. A variável de ambiente JAVA_HOME
está definida como C:\j2sdk1.4.2_19
.
Quando tento iniciar meu aplicativo, ele grava o seguinte erro no log:
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"
i.e. foi adicionado um extra " \jre
" ao JAVA_HOME
que não deveria estar lá!
Eu também queria saber se poderia ser uma configuração de registro em algum lugar, mas eu olhei em todos os lugares óbvios. HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat4\Parameters\Java\JavaHome
é definido como o mesmo que a variável de ambiente JAVA_HOME
, assim como a chave JavaHome
em lugares como JavaSoft\Java Development Kit.4
e JavaSoft\Java Runtime Environment.4.2_19
.
Estou começando a ficar frustrado tentando descobrir por que não funciona!