Como o Apache Tomcat inicia: startup, Bootstrap e Catalina


Data de Publicação:

Atualizado:


Artigos > Como o Apache Tomcat inicia: startup, Bootstrap e Catalina

status 2026 e uso seguro

Conclusão: startup.sh ou startup.bat delega à catalina, que monta variáveis de ambiente, caminhos de classe, opções de JVM e propriedades do sistema antes de iniciar a classe Bootstrap do Tomcat. Um gerenciador de serviços pode invocar o mesmo tempo de execução por meio de um wrapper diferente.

O que você aprenderá

  • Como CATALINA_HOME, CATALINA_BASE, JAVA_HOME e JRE_HOME afetam a inicialização.
  • Como argumentos de shell ou lote se tornam um comando Java e depois uma operação de ciclo de vida Catalina.
  • Onde inspecionar o comando final sem copiar sinalizadores JVM obsoletos.

A quem se destina: Operadores que solucionam problemas de wrappers de inicialização e desenvolvedores que aprendem os detalhes internos do Tomcat.

Atualização para 2026: O rastreamento de comando abaixo é do Tomcat 9.0.27 em Java 11. Use-o para entender o fluxo e, em seguida, inspecione os scripts enviados com sua versão suportada do Tomcat; sinalizadores internos e versões Java compatíveis mudam.

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

Este artigo acompanha a sequência de arranque do Tomcat. O administrador executa normalmente startup.bat ou startup.sh, mas esses scripts preparam vários elementos antes de o servidor ficar operacional. O exemplo histórico utiliza o Tomcat 9.0.27.

O guia de download do Tomcat mostra onde se encontrava esse arquivo. Para uma instalação real, escolha uma versão ainda suportada.

Índice

  1. Como o Tomcat arranca
  2. Conclusão

1. Como o Tomcat arranca

Neste exemplo com Tomcat 9.0.27 e OpenJDK 11 no Windows, os scripts acabam por compor e executar o seguinte comando Java:

"C:\Program Files (x86)\Java\jdk-11\bin\java.exe" -Djava.util.logging.config.file="C:\apache-tomcat-9.0.27\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs="" -classpath "C:\apache-tomcat-9.0.27\bin\bootstrap.jar;C:\apache-tomcat-9.0.27\bin\tomcat-juli.jar" -Dcatalina.base="C:\apache-tomcat-9.0.27" -Dcatalina.home="C:\apache-tomcat-9.0.27" -Djava.io.tmpdir="C:\apache-tomcat-9.0.27\temp" org.apache.catalina.startup.Bootstrap start

O comando constrói o classpath e as propriedades de sistema e, em seguida, invoca o método main de org.apache.catalina.startup.Bootstrap com o argumento start.

O guia sobre as propriedades de sistema Java -D explica as opções do launcher.

Para compreender como esta linha é produzida, vejamos o que faz o startup.bat.

1-1. Conteúdo do startup.bat

O startup.bat verifica o ambiente de arranque e chama catalina.bat com o argumento start. É no catalina.bat que se constrói a maior parte do comando.

Os scripts determinam:

  • o executável Java;
  • os diretórios home e base do Tomcat;
  • o classpath e a classe principal;
  • as propriedades de sistema e as restantes opções da JVM.

O comando efetivo varia com as versões do Tomcat e do Java, as variáveis de ambiente e a configuração do serviço.

2. Conclusão

O script de arranque prepara o ambiente do Tomcat e depois invoca o Java. Nesta versão, o ponto de entrada é org.apache.catalina.startup.Bootstrap. Ao diagnosticar uma falha, examine os scripts da versão instalada e o ambiente efetivo, em vez de copiar o comando histórico.

■INFORMATION

Artigos


■PROFILE

Perfil


■Contacto

Contacto