Tomcat não inicia: guia prático de diagnóstico
Data de Publicação:
Atualizado:
Artigos > Tomcat não inicia: guia prático de diagnóstico
status 2026 e uso seguro
Conclusão: leia a primeira exceção de causa raiz nos logs do Tomcat e do gerenciador de serviços antes de alterar a configuração. Em seguida, verifique a compatibilidade do Java, a propriedade da porta, as permissões de arquivo, a sintaxe XML, o espaço em disco e o CATALINA_BASE efetivo.
O que você aprenderá
- Uma ordem repetível para verificar o status do serviço, registros, ambiente e conectores.
- Como distinguir uma falha de inicialização da JVM de uma configuração do Tomcat ou falha de aplicativo implantado.
- Por que excluir diretórios de trabalho ou aumentar a memória sem evidências pode ocultar o verdadeiro problema.
A quem se destina: desenvolvedores e administradores que respondem a um processo Tomcat que sai ou nunca abre seu conector.
Atualização para 2026: Os casos originais continuam sendo padrões de diagnóstico úteis, mas os locais dos arquivos e as versões Java suportadas dependem da família Tomcat instalada e do pacote. Não reutilize opções JVM legadas sem verificar a documentação Java atual.
Nota de segurança: os comandos e exemplos de configuração do artigo original não foram novamente executados num ambiente de produção atual. Antes de os aplicar, confirme as versões suportadas, as cópias de segurança, os controlos de acesso e o procedimento de reversão num ambiente de teste isolado.
Fontes primárias oficiais
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. Esta secção explica isto com base na versão Tomcat '9.0.27'.
Tabela de Conteúdos
1. Tomcat não inicia: guia prático de diagnóstico
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.
Nota: 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.