Tomcat startet nicht: praktische Fehlersuche


Datum der Veröffentlichung:

Aktualisiert:


Fachartikel > Tomcat startet nicht: praktische Fehlersuche

Status 2026 und sichere Verwendung

Fazit: Lesen Sie die erste Ausnahmeursache in den Tomcat- und Service-Manager-Protokollen, bevor Sie die Konfiguration ändern. Überprüfen Sie dann die Java-Kompatibilität, den Portbesitz, die Dateiberechtigungen, die XML-Syntax, den Speicherplatz und die effektive CATALINA_BASE.

Was Sie lernen werden

  • Eine wiederholbare Reihenfolge zum Überprüfen des Dienststatus, der Protokolle, der Umgebung und der Konnektoren.
  • So unterscheiden Sie einen JVM-Startfehler von einem Tomcat-Konfigurations- oder bereitgestellten Anwendungsfehler.
  • Warum das Löschen von Arbeitsverzeichnissen oder das Erweitern des Speichers ohne Beweise das eigentliche Problem verbergen kann.

Für wen ist dies gedacht: Entwickler und Administratoren, die auf einen Tomcat-Prozess reagieren, der beendet wird oder seinen Connector nie öffnet.

Stand 2026: Die ursprünglichen Fälle bleiben nützliche Diagnosemuster, aber Dateispeicherorte und unterstützte Java-Versionen hängen von der installierten Tomcat-Familie und -Paketierung ab. Verwenden Sie keine älteren JVM-Optionen wieder, ohne die aktuelle Java-Dokumentation zu prüfen.

Sicherheitshinweis: Die Befehle und Konfigurationsbeispiele im Originalartikel wurden nicht in einer aktuellen Produktionsumgebung erneut ausgeführt. Überprüfen Sie unterstützte Versionen, Backups, Zugriffskontrollen und Rollback-Schritte in einer separaten Testumgebung, bevor Sie sie anwenden.

Offizielle Primärquellen

Überblick

Dieser Leitfaden beschreibt häufige Ursachen, wenn Tomcat 9.0.27 nach startup.bat oder startup.sh nicht startet, und zeigt die jeweilige Diagnose.

Inhaltsübersicht

  1. Tomcat startet nicht: praktische Fehlersuche
  2. Zusammenfassung

1. Tomcat startet nicht: praktische Fehlersuche

Es gibt verschiedene Ursachen dafür, dass Tomcat nicht startet, aber dieser Abschnitt beschreibt die wichtigsten Ereignisse, die dazu führen können, dass Tomcat nicht startet.

1-1. JAVA_HOME ist nicht gesetzt.

Ursache

Wenn weder JAVA_HOME noch JRE_HOME gesetzt ist, wird der folgende Fehler ausgegeben.

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

Lösung

Setzen Sie JAVA_HOME oder JRE_HOME unter 'Systemeigenschaften, Erweiterte Einstellungen, Umgebungsvariablen'. Wenn es richtig eingerichtet ist, führt die Eingabe von "echo %JAVA_HOME%", "echo %JRE_HOME%" usw. an der Eingabeaufforderung zu folgender Ausgabe. Starten Sie die Eingabeaufforderung vorsichtshalber neu, wenn Sie Umgebungsvariablen ändern. Die Umgebungsvariablen werden beim Start der Eingabeaufforderung gelesen.

C:\Users\user>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk-11

1-2. Die JAVA-Version ist nicht mit Tomcat kompatibel.

Ursache

Tomcat hat eine unterstützte Java-Version. Sie ist auf der folgenden Tomcat-Website zu finden.

https://tomcat.apache.org/whichversion.html

Die Tomcat-Version "9.0.27" wäre zum Beispiel "9.0.x" der "Apache Tomcat Version" auf der oben genannten Website, die "8 und später" lautet.

Das bedeutet, dass die Einstellung von Java 8 oder höher funktionieren wird.

Lösung

Schreiben Sie die Umgebungsvariablen auf der Grundlage der folgenden Tomcat-Website in das entsprechende Java um.

https://tomcat.apache.org/whichversion.html

1-3. JRE_HOME ist aktiviert.

Ursache

Tomcat ist für "JRE_HOME" gültig, wenn "JRE_HOME" und "JAVA_HOME" gesetzt sind. Selbst wenn Sie sich "JAVA_HOME" ansehen und feststellen, dass Java mit Tomcat kompatibel ist, funktioniert "JRE_HOME", also muss "JRE_HOME" mit Tomcat kompatibel sein.

Lösung

Schreiben Sie unter 'Systemeigenschaften, Erweiterte Einstellungen, Umgebungsvariablen' Java in JRE_HOME in das dem Tomcat entsprechende Java um.

1-4. Widersprüchliche Anschlussnummern.

Ursache

Tomcat startet standardmäßig an Port 8080. Wenn andere Anwendungen auf Port 8080 laufen, wird der folgende Fehler ausgegeben.

Critical [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]

Lösung

Ändern Sie den Port von Tomcat oder beenden Sie laufende Anwendungen mit widersprüchlichen Portnummern.

Mit dem folgenden Befehl können Sie feststellen, ob ein Portnummernkonflikt besteht. Der "8080"-Teil sollte an Ihre eigene Umgebung angepasst werden. Wenn keine Einstellungen geändert wurden, ist der Wert 8080. Wenn nichts aktiviert ist, wird keine Antwort zurückgegeben.

Hinweis: Die folgenden Befehle sind 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. Zusammenfassung

Wenn Tomcat nicht startet, überprüfen Sie die folgenden vier Punkte.

  • JAVA_HOME ist nicht gesetzt.
  • Die JAVA-Version ist nicht mit Tomcat kompatibel.
  • JRE_HOME ist aktiviert.
  • Widersprüchliche Anschlussnummern.

Wenn das nicht funktioniert, lesen Sie bitte den folgenden Artikel darüber, wie Tomcat überhaupt gestartet wird.

So startet Apache Tomcat: startup, Bootstrap und Catalina