Причины того, что 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 в 'System Properties, Advanced Settings, Environment Variables'. При правильной настройке, набрав в командной строке '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.

【Как с этим справиться】

В 'System Properties, Advanced Settings, Environment Variables' перепишите 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?

Спасибо, что досмотрели до конца.