Causas de Tomcat não começar
Data de Publicação:8 de Janeiro de 2021.
INFOMARTION > Causas de Tomcat não começar
Visão geral.
Esta secção descreve as causas de Tomcat não ter começado e como lidar com elas. Esta é a causa e o remédio para os casos em que Tomcat não arranca por alguma razão e ocorre um erro mesmo que o startup.bat ou o startup.sh seja executado. Gostaria de explicar isto com base na versão Tomcat '9.0.27'.
Tabela de Conteúdos
1. Causas de Tomcat não começar
Há várias causas para o Tomcat não começar, mas esta secção descreve os principais acontecimentos que podem fazer com que Tomcat não comece.
1-1. JAVA_HOME não está definido.
【causa】
Se nem JAVA_HOME nem JRE_HOME estiver definido, é emitido o seguinte erro.
C:\Users\user>C:\apache-tomcat-9.0.27\bin\startup.bat
The JRE_HOME environment variable is not defined correctly
This environment variable is needed to run this program
【Como lidar com ele】
Definir JAVA_HOME ou JRE_HOME a partir de 'System Properties, Advanced Settings, Environment Variables'. Se configurado correctamente, escrevendo 'echo %JAVA_HOME%', 'echo %JRE_HOME%', etc. no prompt de comando produzirá a seguinte saída. Como precaução, reinicie o prompt de comando se alterar as variáveis de ambiente. As variáveis ambientais são lidas quando o prompt de comando é iniciado.
C:\Users\user>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk-11
1-2. A versão JAVA não é compatível com Tomcat.
【causa】
Tomcat tem uma versão Java suportada. Pode ser encontrado no seguinte website Tomcat.
https://tomcat.apache.org/whichversion.html
Por exemplo, a versão Tomcat "9.0.27" seria "9.0.x" da "Versão Apache Tomcat" no sítio acima referido, que é "8 e mais tarde".
Isto significa que a definição de Java 8 ou posterior funcionará.
【Como lidar com ele】
Reescrever as variáveis de ambiente para o Java correspondente com base no seguinte website Tomcat.
https://tomcat.apache.org/whichversion.html
1-3. JRE_HOME está activado.
【causa】
Tomcat é válido para "JRE_HOME" se "JRE_HOME" e "JAVA_HOME" estiverem definidos. Mesmo que olhe para "JAVA_HOME" e veja que Java é compatível com Tomcat, "JRE_HOME" funcionará, por isso "JRE_HOME" deve ser Java compatível com Tomcat.
【Como lidar com ele】
Desde 'System Properties, Advanced Settings, Environment Variables', reescrever Java em JRE_HOME para o Java correspondente a Tomcat.
1-4. Números de portas conflituosas.
【causa】
Tomcat começa na porta 8080 por defeito. Se houver outras aplicações em funcionamento na porta 8080, o erro seguinte é emitido.
Critical [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]
【Como lidar com ele】
Alterar a porta de Tomcat ou parar as aplicações com números de portas em conflito que estão em funcionamento.
O comando seguinte dir-lhe-á se existe um conflito de números de porta. A parte "8080" deve ser adaptada ao seu próprio ambiente. Se nenhuma configuração tiver sido alterada, o valor é 8080. Se nada for activado, nenhuma resposta é devolvida.
※Os seguintes comandos são Windows.
C:\Users\user>netstat -nao | find "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5748
TCP [::]:8080 [::]:0 LISTENING 5748
TCP [::1]:8080 [::1]:58259 TIME_WAIT 0
TCP [::1]:8080 [::1]:58260 TIME_WAIT 0
TCP [::1]:8080 [::1]:58261 TIME_WAIT 0
2. resumo
Se Tomcat não começar, verifique os quatro pontos seguintes.
- JAVA_HOME não está definido.
- A versão JAVA não é compatível com Tomcat.
- JRE_HOME está activado.
- Números de portas conflituosas.
Se isso não funcionar, consulte por favor o artigo seguinte sobre como Tomcat arranca em primeiro lugar.
Obrigado por ter observado até ao fim.
■INFORMATION
Por favor clique aqui para ir para a página superior de INFORMAÇÃO.
■PROFILE
Por favor clique aqui para um perfil.
■Detalhes de contacto.