Como é que Tomcat é activado?


Data de Publicação:8 de Janeiro de 2021.



INFOMARTION > Como é que Tomcat é activado?

Visão geral.

Gostaria de explicar como é que Tomcat arranca. Normalmente inicia-se Tomcat a partir de um ficheiro de lote ou ficheiro shell, mas queremos ver o que o ficheiro de lote ou ficheiro shell realmente faz. A versão de Tomcat a ser verificada é '9.0.27'.

Como descarregar a versão "9.0.27" de Tomcat também é explicado abaixo, por isso consulte-a se precisar dela.

Descarregar Tomcat

Tabela de Conteúdos

  1. Como Tomcat arranca.
  2. resumo

1. Como Tomcat arranca.

Em conclusão, Tomcat é iniciado pelos seguintes comandos Java. (A suposição é que a versão Tomcat é 9.0.27 e a versão Java é OpenJDK11.)

"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

Em essência, Tomcat é finalmente iniciado executando o comando Java de uma linha acima referido e chamando a classe principal (public static void main(String[] args)).

※Se não souber o que a parte "-D~" faz, consulte por favor o seguinte.

O que é a opção D (-D) especificada no arranque de Java?

Eventualmente, uma única linha de comando é executada, mas quer verificar o que o startup.bat está a fazer.

1-1. Conteúdo do startup.bat

O startup.bat simplesmente verifica as definições do ambiente para iniciar Tomcat, depois catalina.bat é executado com o início do argumento. O processamento principal real é descrito em catalina.bat.

Assim, o que está a ser feito em catalina.bat é a montagem do comando final a ser executado, tal como descrito anteriormente. Especificamente, os comandos são montados procurando o seguinte

  • Directório Java a ser activado
  • Java classpath, classe principal.
  • Opções Java (diminuindo o significado ou valor da palavra anterior) de

Depois de procurar o acima referido, o resultado final é um comando Java de uma linha.

2. resumo

Tomcat é iniciado a partir de um ficheiro batch como o startup.bat, mas em última análise Tomcat é iniciado por um único comando de linha Java. Este comando chama a classe principal (principal do vazio estático público (String[] args)) e inicia o processo.

A propósito, a classe principal para Tomcat está localizada em "org.apache.catalina.startup.Bootstrap".

Obrigado por ter observado até ao fim.