"Tomcat" nepaleidimo priežastys


Paskelbimo data:2021 m. sausio 8 d.



INFOMARTION > "Tomcat" nepaleidimo priežastys

Apžvalga.

Šiame skyriuje aprašomos "Tomcat" neįsijungimo priežastys ir jų sprendimo būdai. Tai priežastis ir priemonė tais atvejais, kai "Tomcat" dėl tam tikrų priežasčių neįsijungia ir atsiranda klaida, net jei paleidžiamas paleidimo failas startup.bat arba startup.sh. Norėčiau tai paaiškinti remdamasis "Tomcat" versija "9.0.27".

Turinys

  1. "Tomcat" nepaleidimo priežastys
  2. santrauka

1. "Tomcat" nepaleidimo priežastys

"Tomcat" neįsijungia dėl įvairių priežasčių, tačiau šiame skyriuje aprašomi pagrindiniai įvykiai, dėl kurių "Tomcat" gali neįsijungti.

1-1. JAVA_HOME nenustatytas.

【priežastis】

Jei nenustatytas nei JAVA_HOME, nei JRE_HOME, išvedama ši klaida.

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

【Kaip su tuo susidoroti】

Nustatykite JAVA_HOME arba JRE_HOME iš "System Properties, Advanced Settings, Environment Variables" (Sistemos savybės, Išplėstiniai nustatymai, Aplinkos kintamieji). Jei nustatyta teisingai, komandinėje eilutėje įvedus 'echo %JAVA_HOME%', 'echo %JRE_HOME%' ir t. t., bus gauta tokia išvestis. Jei pakeisite aplinkos kintamuosius, iš naujo paleiskite komandų eilutę. Aplinkos kintamieji nuskaitomi paleidus komandinę eilutę.

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

1-2. JAVA versija nesuderinama su "Tomcat".

【priežastis】

"Tomcat" turi palaikomą "Java" versiją. Ją galima rasti šioje "Tomcat" svetainėje.

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

Pavyzdžiui, "Tomcat" versija "9.0.27" būtų "9.0.x" iš "Apache Tomcat Version" pirmiau minėtoje svetainėje, kuri yra "8 ir vėlesnė".

Tai reiškia, kad "Java 8" arba naujesnės versijos nustatymas veiks.

【Kaip su tuo susidoroti】

Perrašykite aplinkos kintamuosius į atitinkamus "Java" pagal šią "Tomcat" svetainę.

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

1-3. JRE_HOME yra įjungtas.

【priežastis】

"Tomcat" galioja "JRE_HOME", jei nustatytos "JRE_HOME" ir "JAVA_HOME". Net jei pažvelgsite į "JAVA_HOME" ir pamatysite, kad "Java" suderinama su "Tomcat", "JRE_HOME" veiks, todėl "JRE_HOME" turi būti "Java" suderinama su "Tomcat".

【Kaip su tuo susidoroti】

Iš "System Properties, Advanced Settings, Environment Variables" (Sistemos savybės, Išplėstiniai nustatymai, Aplinkos kintamieji) perrašykite "Java" į "Tomcat" atitinkančią "Java".

1-4. Prieštaringi prievadų numeriai.

【priežastis】

Pagal numatytuosius nustatymus "Tomcat" paleidžiama 8080 prievadu. Jei 8080 uoste veikia kitos programos, išvedama tokia klaida.

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

【Kaip su tuo susidoroti】

Pakeiskite "Tomcat" prievadą arba sustabdykite veikiančias programas su prieštaringais prievado numeriais.

Toliau pateikta komanda parodys, ar yra prievado numerio konfliktas. Dalį "8080" reikėtų pritaikyti prie savo aplinkos. Jei jokie nustatymai nebuvo pakeisti, reikšmė yra 8080. Jei niekas neįjungta, atsakymas negrąžinamas.

※Šios komandos yra "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. santrauka

Jei "Tomcat" neįsijungia, patikrinkite šiuos keturis punktus.

  • JAVA_HOME nenustatytas.
  • JAVA versija nesuderinama su "Tomcat".
  • JRE_HOME yra įjungtas.
  • Prieštaringi prievadų numeriai.

Jei tai nepadeda, skaitykite šį straipsnį apie tai, kaip "Tomcat" paleidžiama pirmiausia.

Kaip įjungiamas "Tomcat"?

Dėkojame, kad žiūrėjote iki pabaigos.