Příčiny nespuštění aplikace Tomcat
Datum vydání:8. ledna 2021.
INFOMARTION > Příčiny nespuštění aplikace Tomcat
Přehled.
V této části jsou popsány příčiny, proč se Tomcat nespouští, a způsoby jejich řešení. Toto je příčina a náprava případů, kdy se Tomcat z nějakého důvodu nespustí a dojde k chybě, i když je spuštěn soubor startup.bat nebo startup.sh. Rád bych to vysvětlil na základě verze Tomcat '9.0.27'.
Obsah
1. Příčiny nespuštění aplikace Tomcat
Příčiny nespuštění Tomcatu jsou různé, ale v této části jsou popsány hlavní události, které mohou způsobit, že se Tomcat nespustí.
1-1. JAVA_HOME není nastaveno.
【příčina】
Pokud není nastaveno JAVA_HOME ani JRE_HOME, zobrazí se následující chyba.
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
【Jak se s tím vypořádat】
Nastavte JAVA_HOME nebo JRE_HOME z "Vlastnosti systému, Rozšířená nastavení, Proměnné prostředí". Při správném nastavení se po zadání příkazů 'echo %JAVA_HOME%', 'echo %JRE_HOME%' atd. na příkazovém řádku zobrazí následující výstup. Pokud změníte proměnné prostředí, preventivně restartujte příkazový řádek. Proměnné prostředí jsou načteny při spuštění příkazového řádku.
C:\Users\user>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk-11
1-2. Verze JAVA není kompatibilní s Tomcatem.
【příčina】
Tomcat má podporovanou verzi jazyka Java. Najdete ji na následující webové stránce Tomcat.
https://tomcat.apache.org/whichversion.html
Například verze Tomcat "9.0.27" by byla "9.0.x" verze "Apache Tomcat Version" na výše uvedeném webu, která je "8 a novější".
To znamená, že nastavení Java 8 nebo novější bude fungovat.
【Jak se s tím vypořádat】
Přepište proměnné prostředí do odpovídající Javy na základě následující webové stránky Tomcat.
https://tomcat.apache.org/whichversion.html
1-3. JRE_HOME je povolen.
【příčina】
Tomcat je platný pro "JRE_HOME", pokud jsou nastaveny "JRE_HOME" a "JAVA_HOME". I když se podíváte na "JAVA_HOME" a zjistíte, že Java je kompatibilní s Tomcatem, "JRE_HOME" bude fungovat, takže "JRE_HOME" musí být Java kompatibilní s Tomcatem.
【Jak se s tím vypořádat】
V části "Vlastnosti systému, Upřesnit nastavení, Proměnné prostředí" přepište Javu v JRE_HOME na Javu odpovídající Tomcatu.
1-4. Konfliktní čísla portů.
【příčina】
Tomcat se ve výchozím nastavení spouští na portu 8080. Pokud jsou na portu 8080 spuštěny jiné aplikace, zobrazí se následující chyba.
Critical [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]
【Jak se s tím vypořádat】
Změňte port Tomcatu nebo zastavte spuštěné aplikace s konfliktními čísly portů.
Následující příkaz vám ukáže, zda došlo ke konfliktu čísel portů. Část "8080" by měla být přizpůsobena vašemu prostředí. Pokud nebylo změněno žádné nastavení, je hodnota 8080. Pokud není aktivováno nic, není vrácena žádná odpověď.
※Následující příkazy jsou pro systém 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. shrnutí
Pokud se Tomcat nespustí, zkontrolujte následující čtyři body.
- JAVA_HOME není nastaveno.
- Verze JAVA není kompatibilní s Tomcatem.
- JRE_HOME je povolen.
- Konfliktní čísla portů.
Pokud to nefunguje, přečtěte si následující článek o tom, jak se Tomcat spouští.
Děkujeme, že jste se dívali až do konce.