Årsager til, at Tomcat ikke starter
Udgivelsesdato:8. januar 2021.
INFOMARTION > Årsager til, at Tomcat ikke starter
Oversigt.
I dette afsnit beskrives årsagerne til, at Tomcat ikke starter, og hvordan du håndterer dem. Dette er årsagen og løsningen i tilfælde, hvor Tomcat ikke starter af en eller anden grund, og der opstår en fejl, selv om startup.bat eller startup.sh udføres. Jeg vil gerne forklare dette på baggrund af Tomcat-versionen "9.0.27".
Indholdsfortegnelse
1. Årsager til, at Tomcat ikke starter
Der er forskellige årsager til, at Tomcat ikke kan starte, men i dette afsnit beskrives de vigtigste hændelser, der kan medføre, at Tomcat ikke kan starte.
1-1. JAVA_HOME er ikke angivet.
【årsag】
Hvis hverken JAVA_HOME eller JRE_HOME er angivet, vises følgende fejl.
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
【Hvordan man håndterer det】
Indstil JAVA_HOME eller JRE_HOME fra "Systemegenskaber, Avancerede indstillinger, Miljøvariabler". Hvis du skriver "echo %JAVA_HOME%", "echo %JRE_HOME%" osv. på kommandoprompten, vil du få følgende output, hvis du er korrekt konfigureret. Som en sikkerhedsforanstaltning skal du genstarte kommandoprompten, hvis du ændrer miljøvariabler. Miljøvariabler læses, når kommandoprompten startes.
C:\Users\user>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk-11
1-2. JAVA-versionen er ikke kompatibel med Tomcat.
【årsag】
Tomcat har en understøttet Java-version. Den kan findes på følgende websted for Tomcat.
https://tomcat.apache.org/whichversion.html
For eksempel vil Tomcat-versionen "9.0.27" være "9.0.x" af "Apache Tomcat-versionen" på ovenstående websted, som er "8 og nyere".
Det betyder, at indstillingen af Java 8 eller nyere vil fungere.
【Hvordan man håndterer det】
Omskriv miljøvariablerne til de tilsvarende Java-variabler baseret på følgende Tomcat-websted.
https://tomcat.apache.org/whichversion.html
1-3. JRE_HOME er aktiveret.
【årsag】
Tomcat er gyldig for "JRE_HOME", hvis "JRE_HOME" og "JAVA_HOME" er angivet. Selv hvis du kigger på "JAVA_HOME" og ser, at Java er kompatibelt med Tomcat, vil "JRE_HOME" fungere, så "JRE_HOME" skal være Java-kompatibelt med Tomcat.
【Hvordan man håndterer det】
I "Systemegenskaber, Avancerede indstillinger, Miljøvariabler" skal du omskrive Java i JRE_HOME til den Java-adresse, der svarer til Tomcat.
1-4. Modstridende portnumre.
【årsag】
Tomcat starter som standard på port 8080. Hvis der er andre programmer, der kører på port 8080, vises følgende fejl.
Critical [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]
【Hvordan man håndterer det】
Ændre porten for Tomcat eller stoppe programmer med modstridende portnumre, der kører.
Følgende kommando fortæller dig, om der er en portnummerkonflikt. "8080"-delen skal tilpasses til dit eget miljø. Hvis ingen indstillinger er blevet ændret, er værdien 8080. Hvis der ikke er aktiveret noget, returneres der ikke noget svar.
※Følgende kommandoer er 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. resumé
Hvis Tomcat ikke starter, skal du kontrollere følgende fire punkter.
- JAVA_HOME er ikke angivet.
- JAVA-versionen er ikke kompatibel med Tomcat.
- JRE_HOME er aktiveret.
- Modstridende portnumre.
Hvis det ikke virker, kan du læse følgende artikel om, hvordan Tomcat starter op i første omgang.
Tak, fordi du kiggede med til slutningen.