Serviço do Windows Apache Tomcat ignorando a variável de ambiente JAVA_HOME

3

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!

    
por andygeers 18.01.2011 / 13:42

3 respostas

4

Eu consertei no final ativando uma janela de comando, definindo JAVA_HOME apropriadamente e, em seguida, executando os seguintes scripts do diretório bin do Tomcat:

service.bat remove
service.bat install

Eu não sei como foi, mas isso reconfigurou o serviço para usar o novo valor de JAVA_HOME .

    
por 25.01.2011 / 17:33
0

Eu enfrentei um problema semelhante com o Tomcat 6 e o Java 6. (percebo que você está falando sobre o Tomcat 4 e o Java 1.4)

Eu verificaria em appwiz.cpl se há JRE 1.6 * instalado na máquina - porque, se estiver, o JAVA_HOME não é mais retirado das variáveis de ambiente, mas da entrada de registro criada pela instalação do JRE 1.6. (No pior caso, você pode editar %TOMCAT_HOME%/bin/catalina.bat e definir JAVA_HOME que aponta para o seu bom JDK lá ///)

O link relevante poderia ser

https://issues.apache.org/bugzilla/show_bug.cgi?id=41538

    
por 18.01.2011 / 15:01
0

Verifique a chave de registro apropriada. Aqui está o meu:

Fundação do software HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Apache \ Procrun 2.0 \ Tomcat7.55 \ Parâmetros \ Java

altere o valor da chave Jvm

    
por 11.06.2015 / 20:46