Så startar Apache Tomcat: startup, Bootstrap och Catalina


Publicerad:

Uppdaterad:


Tekniska artiklar > Så startar Apache Tomcat: startup, Bootstrap och Catalina

Status 2026 och säker användning

Slutsats: startup.sh och startup.bat anropar catalina-skriptet, som förbereder miljövariabler, classpath, JVM-alternativ och systemegenskaper innan Tomcats Bootstrap-klass startas. En tjänstehanterare kan använda en annan startmekanism.

Det här går artikeln igenom

  • Hur CATALINA_HOME, CATALINA_BASE, JAVA_HOME och JRE_HOME påverkar starten.
  • Hur argument till skal- och batchskript omvandlas till ett Java-kommando och en Catalina-åtgärd.
  • Var det slutliga kommandot kan granskas utan att gamla JVM-alternativ kopieras.

Målgrupp: Administratörer som felsöker Tomcats startskript och utvecklare som vill förstå startförloppet.

Läge 2026: Kommandospårningen nedan kommer från Tomcat 9.0.27 med Java 11. Använd den för att förstå flödet, men granska alltid skripten i den installerade Tomcat-versionen. Interna alternativ och Java-krav förändras mellan versioner.

Säkerhetsinformation: Kommandona och konfigurationsexemplen i originalartikeln har inte testats på nytt i en aktuell produktionsmiljö. Kontrollera versioner med support, säkerhetskopior, åtkomstkontroller och återställningssteg i en separat testmiljö innan de används.

Viktiga officiella källor

Översikt

Tomcat startas vanligtvis med en batchfil i Windows eller ett skalskript i Linux. Artikeln följer vad dessa startfiler gör innan Java-processen körs. Exemplet bygger på Tomcat 9.0.27.

Den historiska versionen 9.0.27 och nyare utgåvor beskrivs i nedladdningsguiden.

Hämta en Tomcat-distribution

Innehållsförteckning

  1. Hur Tomcat startar
  2. Sammanfattning

1. Hur Tomcat startar

I det här historiska exemplet med Tomcat 9.0.27 och OpenJDK 11 bygger Windows-skripten slutligen ihop och kör följande Java-kommando:

"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

Kommandot anger classpath och systemegenskaper och anropar sedan huvudmetoden i org.apache.catalina.startup.Bootstrap med argumentet start.

Guiden nedan förklarar vad Java-alternativet "-D" gör.

Java-alternativet -D: systemegenskaper, syntax och exempel

Nästa avsnitt visar hur startup.bat leder fram till det slutliga Java-kommandot.

1-1. Innehållet i startup.bat

startup.bat kontrollerar startmiljön och anropar sedan catalina.bat med argumentet start. Det mesta av kommandot byggs ihop i catalina.bat.

Skripten fastställer bland annat följande:

  • vilken Java-körfil samt vilka hem- och baskataloger för Tomcat som ska användas;
  • classpath och huvudklass;
  • systemegenskaper och andra JVM-alternativ.

Det exakta kommandot beror på Tomcat- och Java-version, lokala miljövariabler och hur tjänsten startas.

2. Sammanfattning

Startskriptet förbereder Tomcats miljö och anropar Java. I den här versionen är startpunkten org.apache.catalina.startup.Bootstrap.

Vid startproblem bör skripten i den installerade versionen och de faktiska miljövariablerna granskas, i stället för att det historiska kommandot kopieras.

Logga det slutliga Java-kommandot och kontrollera sökvägar, classpath och JVM-alternativ mot den version som faktiskt körs.