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
  2. samenvatting

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.

startup.bat


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.

Zo start Apache Tomcat: startup, Bootstrap en Catalina

■INFORMATION

Artikelen


■PROFILE

Profiel


■Contact

Contact