Cómo arranca Apache Tomcat: startup, Bootstrap y Catalina
Fecha de publicación:
Actualizado:
Artículos técnicos > Cómo arranca Apache Tomcat: startup, Bootstrap y Catalina
Estado y uso seguro en 2026
Conclusión: startup.sh o startup.bat delega en catalina, que ensambla variables de entorno, classpaths, opciones de JVM y propiedades del sistema antes de iniciar la clase Bootstrap de Tomcat. Un administrador de servicios puede invocar el mismo tiempo de ejecución a través de un contenedor diferente.
Qué aprenderás
- Cómo
CATALINA_HOME,CATALINA_BASE,JAVA_HOMEyJRE_HOMEafectan el inicio. - Cómo los argumentos de shell o por lotes se convierten en un comando de Java y luego en una operación del ciclo de vida de Catalina.
- Dónde inspeccionar el comando final sin copiar indicadores JVM obsoletos.
Para quién es: operadores que solucionan problemas de envolturas de inicio y desarrolladores que aprenden los aspectos internos de Tomcat.
Situación en 2026: El seguimiento del comando a continuación es de Tomcat 9.0.27 en Java 11. Úselo para comprender el flujo y luego inspeccione los scripts incluidos con su versión de Tomcat compatible; Los indicadores internos y las versiones compatibles de Java cambian.
Nota de seguridad: Los comandos y ejemplos de configuración del artículo original no se han vuelto a ejecutar en un entorno de producción actual. Verifique las versiones compatibles, las copias de seguridad, los controles de acceso y los pasos de reversión en un entorno de prueba independiente antes de aplicarlos.
Fuentes primarias oficiales
Resumen.
Este artículo sigue el proceso de inicio de Tomcat. Normalmente se ejecuta startup.bat o startup.sh; los ejemplos utilizan Tomcat 9.0.27.
A continuación se explica cómo descargar la versión "9.0.27" de Tomcat, así que consúltela si la necesita.
Índice de contenidos
1. Cómo se inicia Tomcat.
En conclusión, Tomcat se inicia con los siguientes comandos de Java. (Se supone que la versión de Tomcat es 9.0.27 y la versión de Java es 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
En esencia, Tomcat se inicia finalmente ejecutando el comando Java de una línea anterior y llamando a la clase main (public static void main(String[] args)).
Nota: Si no sabe qué hace la parte "-D~", consulte lo siguiente.
¿Qué es la opción D (-D) especificada en el arranque de Java?
Finalmente, se ejecuta una sola línea de comando, pero se quiere comprobar qué está haciendo startup.bat.
1-1. Contenido de startup.bat
El startup.bat simplemente comprueba la configuración del entorno para iniciar Tomcat, luego se ejecuta catalina.bat con el argumento start. El procesamiento principal real se describe en catalina.bat.
Así que lo que se está haciendo en catalina.bat es el montaje del comando final a ejecutar, como se ha descrito anteriormente. En concreto, los comandos se reúnen buscando lo siguiente
- Directorio Java a activar
- Camino de clase de Java, clase principal.
- Opciones de Java (disminuyendo el significado o valor de la palabra anterior) los gustos de
Después de buscar lo anterior, el resultado final es un comando Java de una sola línea.
2. resumen
Tomcat se inicia desde un archivo por lotes como startup.bat, pero en última instancia Tomcat se inicia mediante un comando Java de una sola línea. Este comando llama a la clase main (public static void main(String[] args)) e inicia el proceso.
Por cierto, la clase principal de Tomcat se encuentra en "org.apache.catalina.startup.Bootstrap".