Tomcat start niet: praktische probleemoplossing
Datum van publicatie:
Bijgewerkt:
Artikelen > Tomcat start niet: praktische probleemoplossing
2026 status en veilig gebruik
Conclusie: Lees de eerste root-cause uitzondering in Tomcat en service-manager logs voordat u de configuratie wijzigt. Controleer dan Java compatibiliteit, port eigendom, bestand permissies, XML syntax, schijfruimte, en de effectieve CATALINA_BASE.
Wat je zult leren
- Een herhaalbare bestelling voor het controleren van service status, logs, omgeving, en connectors.
- Hoe een JVM-startfout te onderscheiden van een Tomcat-configuratie of een implementatiefout.
- Waarom het verwijderen van werkmappen of het verhogen van het geheugen zonder bewijs het echte probleem kan verbergen.
Voor wie: Ontwikkelaars en beheerders reageren op een Tomcat-proces dat zijn connector verlaat of nooit opent.
Actualisatie voor 2026: De originele gevallen blijven nuttige kenmerkende patronen, maar bestand locaties en ondersteunde Java versies zijn afhankelijk van de geïnstalleerde Tomcat familie en verpakking. Gebruik geen verouderde JVM-opties zonder de huidige Java-documentatie te controleren.
Veiligheidsopmerking: de opdrachten en configuratievoorbeelden uit het oorspronkelijke artikel zijn niet opnieuw in een moderne productieomgeving uitgevoerd. Controleer ondersteunde versies, back-ups, toegangsbeheer en terugrolstappen eerst in een afzonderlijke testomgeving.
Officiële primaire bronnen
Overzicht
Deze sectie beschrijft de oorzaken van het niet starten van Tomcat en hoe daarmee om te gaan. Dit is de oorzaak en remedie voor gevallen waarin Tomcat om een of andere reden niet start en er een fout optreedt, zelfs als startup.bat of startup.sh wordt uitgevoerd. Ik wil dit graag uitleggen aan de hand van de Tomcat versie '9.0.27'.
Inhoudsopgave
1. Tomcat start niet: praktische probleemoplossing
Er zijn verschillende oorzaken voor het niet starten van Tomcat, maar deze sectie beschrijft de belangrijkste gebeurtenissen die ervoor kunnen zorgen dat Tomcat niet start.
1-1. JAVA_HOME is niet ingesteld.
(oorzaak)
Als noch JAVA_HOME noch JRE_HOME is ingesteld, wordt de volgende fout weergegeven.
C:\Users\user>C:\apache-tomcat-9.0.27\bin\startup.bat
The JRE_HOME environment variable is not defined correctly
This environment variable is needed to run this program
(Hoe er mee om te gaan)
Stel JAVA_HOME of JRE_HOME in via 'Systeemeigenschappen, Geavanceerde instellingen, Omgevingsvariabelen'. Als het correct is ingesteld, zal het typen van 'echo %JAVA_HOME%', 'echo %JRE_HOME%', enz. op de opdrachtprompt de volgende uitvoer opleveren. Start uit voorzorg de opdrachtprompt opnieuw op als u omgevingsvariabelen wijzigt. Omgevingsvariabelen worden gelezen wanneer de opdrachtprompt wordt gestart.
C:\Users\user>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk-11
1-2. JAVA versie is niet compatibel met Tomcat.
(oorzaak)
Tomcat heeft een ondersteunde Java versie. Het is te vinden op de volgende Tomcat website.
https://tomcat.apache.org/whichversion.html
Bijvoorbeeld, de Tomcat versie "9.0.27" zou "9.0.x" zijn van de "Apache Tomcat Versie" op de bovenstaande site, die "8 en later" is.
Dit betekent dat het instellen van Java 8 of later zal werken.
(Hoe er mee om te gaan)
Herschrijf de omgevingsvariabelen naar de overeenkomstige Java gebaseerd op de volgende Tomcat website.
https://tomcat.apache.org/whichversion.html
1-3. JRE_HOME is ingeschakeld.
(oorzaak)
Tomcat is geldig voor "JRE_HOME" als "JRE_HOME" en "JAVA_HOME" zijn ingesteld. Zelfs als je naar "JAVA_HOME" kijkt en ziet dat Java compatibel is met Tomcat, zal "JRE_HOME" werken, dus "JRE_HOME" moet Java-compatibel zijn met Tomcat.
(Hoe er mee om te gaan)
Herschrijf in 'Systeemeigenschappen, Geavanceerde instellingen, Omgevingsvariabelen' Java in JRE_HOME naar de Java die overeenkomt met Tomcat.
1-4. Tegenstrijdige poortnummers.
(oorzaak)
Tomcat start standaard op poort 8080. Als er andere toepassingen op poort 8080 draaien, wordt de volgende fout weergegeven.
Critical [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]
(Hoe er mee om te gaan)
Verander de poort van Tomcat of stop applicaties met conflicterende poortnummers die draaien.
Het volgende commando zal u vertellen of er een poortnummerconflict is. Het "8080" gedeelte moet worden aangepast aan uw eigen omgeving. Als er geen instellingen zijn gewijzigd, is de waarde 8080. Als er niets geactiveerd is, wordt er geen antwoord teruggestuurd.
Opmerking: De volgende commando's zijn Windows.
C:\Users\user>netstat -nao | find "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5748
TCP [::]:8080 [::]:0 LISTENING 5748
TCP [::1]:8080 [::1]:58259 TIME_WAIT 0
TCP [::1]:8080 [::1]:58260 TIME_WAIT 0
TCP [::1]:8080 [::1]:58261 TIME_WAIT 0
2. samenvatting
Als Tomcat niet start, controleer dan de volgende vier punten.
- JAVA_HOME is niet ingesteld.
- JAVA versie is niet compatibel met Tomcat.
- JRE_HOME is ingeschakeld.
- Tegenstrijdige poortnummers.
Als dat niet werkt, raadpleeg dan het volgende artikel over hoe Tomcat in de eerste plaats opstart.