Vzroki za to, da se Tomcat ne začne
Datum objave:8. januar 2021.
INFOMARTION > Vzroki za to, da se Tomcat ne začne
Pregled.
V tem razdelku so opisani vzroki, zaradi katerih se Tomcat ne zažene, in kako jih odpraviti. To je vzrok in zdravilo za primere, ko se Tomcat iz nekega razloga ne zažene in se pojavi napaka, tudi če se program startup.bat ali startup.sh izvede. To bi rad pojasnil na podlagi različice Tomcat '9.0.27'.
Kazalo vsebine
1. Vzroki za to, da se Tomcat ne začne
Vzroki za to, da se Tomcat ne zažene, so različni, vendar so v tem razdelku opisani glavni dogodki, ki lahko povzročijo, da se Tomcat ne zažene.
1-1. JAVA_HOME ni nastavljen.
【vzrok】
Če nista nastavljena niti JAVA_HOME niti JRE_HOME, se izpiše naslednja napaka.
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
【Kako se z njo spopasti】
Nastavite JAVA_HOME ali JRE_HOME v "Sistemske lastnosti, Dodatne nastavitve, Spremenljivke okolja". Če je nastavitev pravilna, bo vnos 'echo %JAVA_HOME%', 'echo %JRE_HOME%' itd. v ukazno vrstico prinesel naslednji rezultat. Če spremenite okoljske spremenljivke, previdnostno znova zaženite ukazni poziv. Spremenljivke okolja se preberejo ob zagonu ukazne vrstice.
C:\Users\user>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jdk-11
1-2. Različica JAVA ni združljiva s programom Tomcat.
【vzrok】
Tomcat ima podprto različico Java. Na voljo je na naslednjem spletnem mestu Tomcat.
https://tomcat.apache.org/whichversion.html
Na primer, različica Tomcat "9.0.27" bi bila "9.0.x" različice "Različica Apache Tomcat" na zgornjem spletnem mestu, ki je "8 in novejša".
To pomeni, da bo delovala nastavitev Java 8 ali novejša.
【Kako se z njo spopasti】
Spremenljivke okolja prepišite v ustrezne spremenljivke Java na podlagi naslednjega spletnega mesta Tomcat.
https://tomcat.apache.org/whichversion.html
1-3. JRE_HOME je omogočen.
【vzrok】
Tomcat velja za "JRE_HOME", če sta nastavljena "JRE_HOME" in "JAVA_HOME". Tudi če pogledate "JAVA_HOME" in vidite, da je Java združljiva s Tomcatom, bo "JRE_HOME" deloval, zato mora biti "JRE_HOME" Java združljiv s Tomcatom.
【Kako se z njo spopasti】
V "Lastnosti sistema, Dodatne nastavitve, Spremenljivke okolja" prepišite Javo v JRE_HOME v Javo, ki ustreza Tomcatu.
1-4. Nasprotujoče si številke vrat.
【vzrok】
Tomcat se privzeto zažene na vratih 8080. Če na vratih 8080 tečejo druge aplikacije, se izpiše naslednja napaka.
Critical [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-8080]]
【Kako se z njo spopasti】
Spremenite vrata Tomcata ali zaustavite aplikacije z nasprotnimi številkami vrat, ki se izvajajo.
Naslednji ukaz vam bo pokazal, ali obstaja navzkrižje med številkami vrat. Del "8080" prilagodite svojemu okolju. Če nastavitve niso bile spremenjene, je vrednost 8080. Če ni aktivirano nič, se ne vrne noben odgovor.
※Naslednji ukazi so 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. povzetek
Če se Tomcat ne zažene, preverite naslednje štiri točke.
- JAVA_HOME ni nastavljen.
- Različica JAVA ni združljiva s programom Tomcat.
- JRE_HOME je omogočen.
- Nasprotujoče si številke vrat.
Če to ne deluje, si oglejte naslednji članek o tem, kako se Tomcat sploh zažene.
Hvala, ker ste gledali do konca.