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_HOMEochJRE_HOMEpå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.
Innehållsförteckning
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.