Ursachen für das Nichtstarten von Tomcat


Datum der Veröffentlichung:8. Januar 2021.



INFOMARTION > Ursachen für das Nichtstarten von Tomcat

Überblick.

In diesem Abschnitt werden die Ursachen dafür beschrieben, dass Tomcat nicht startet und wie man sie beheben kann. Dies ist die Ursache und Abhilfe für Fälle, in denen Tomcat aus irgendeinem Grund nicht startet und ein Fehler auftritt, auch wenn startup.bat oder startup.sh ausgeführt wird. Ich möchte dies anhand der Tomcat-Version '9.0.27' erläutern.

Inhaltsübersicht

  1. Ursachen für das Nichtstarten von Tomcat
  2. Zusammenfassung

1. Ursachen für das Nichtstarten von Tomcat

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.

【verursachen】

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

【Wie man damit umgeht】

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.

【verursachen】

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.

【Wie man damit umgeht】

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.

【verursachen】

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.

【Wie man damit umgeht】

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

1-4. Widersprüchliche Anschlussnummern.

【verursachen】

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]]

【Wie man damit umgeht】

Ä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.

※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.

Wie wird Tomcat aktiviert?

Danke, dass Sie bis zum Ende zugesehen haben.