Причини за това, че Tomcat не се стартира


Дата на публикуване:8 януари 2021 г.



INFOMARTION > Причини за това, че Tomcat не се стартира

Преглед.

В този раздел са описани причините, поради които Tomcat не се стартира, и как да се справите с тях. Това е причината и начинът за отстраняване на грешки в случаите, когато Tomcat не се стартира по някаква причина и се появява грешка, дори ако се изпълни startup.bat или startup.sh. Бих искал да обясня това на базата на версията на Tomcat '9.0.27'.

Съдържание

  1. Причини за това, че Tomcat не се стартира
  2. резюме

1. Причини за това, че Tomcat не се стартира

Има различни причини за нестартиране на Tomcat, но в този раздел са описани основните събития, които могат да доведат до нестартиране на Tomcat.

1-1. JAVA_HOME не е зададен.

【причина】

Ако не са зададени нито JAVA_HOME, нито JRE_HOME, се появява следната грешка.

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

【Как да се справим с него】

Задайте JAVA_HOME или JRE_HOME от "Системни свойства, Разширени настройки, Променливи на средата". Ако е настроено правилно, въвеждането на 'echo %JAVA_HOME%', 'echo %JRE_HOME%' и т.н. в командния промпт ще даде следния резултат. Като предпазна мярка рестартирайте командния ред, ако промените променливите на средата. Променливите на средата се прочитат при стартиране на командния ред.

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

1-2. Версията на JAVA не е съвместима с Tomcat.

【причина】

Tomcat има поддържана версия на Java. Той може да бъде намерен на следния уебсайт на Tomcat.

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

Например версията на Tomcat "9.0.27" ще бъде "9.0.x" от "Версията на Apache Tomcat" на горепосочения сайт, която е "8 и по-нова".

Това означава, че настройката на Java 8 или по-нова версия ще работи.

【Как да се справим с него】

Презапишете променливите на средата в съответните Java на базата на следния уебсайт на Tomcat.

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

1-3. JRE_HOME е активиран.

【причина】

Tomcat е валиден за "JRE_HOME", ако са зададени "JRE_HOME" и "JAVA_HOME". Дори ако погледнете "JAVA_HOME" и видите, че Java е съвместима с Tomcat, "JRE_HOME" ще работи, така че "JRE_HOME" трябва да е Java, съвместима с Tomcat.

【Как да се справим с него】

От "Системни свойства, Разширени настройки, Променливи на средата" презапишете Java в JRE_HOME на Java, съответстваща на Tomcat.

1-4. Противоречащи си номера на портове.

【причина】

Tomcat се стартира на порт 8080 по подразбиране. Ако има други приложения, стартирани на порт 8080, се извежда следната грешка.

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

【Как да се справим с него】

Променете порта на Tomcat или спрете работещите приложения с противоречащи си номера на портове.

Следната команда ще ви покаже дали има конфликт между номерата на портовете. Частта "8080" трябва да се адаптира към собствената ви среда. Ако настройките не са променени, стойността е 8080. Ако не е активирано нищо, не се връща отговор.

※Следните команди са за 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. резюме

Ако Tomcat не се стартира, проверете следните четири точки.

  • JAVA_HOME не е зададен.
  • Версията на JAVA не е съвместима с Tomcat.
  • JRE_HOME е активиран.
  • Противоречащи си номера на портове.

Ако това не помогне, вижте следната статия за това как се стартира Tomcat на първо място.

Как се активира Tomcat?

Благодарим ви, че гледахте до края.