Causes du non démarrage de Tomcat


Date de publication:8 janvier 2021.



INFOMARTION > Causes du non démarrage de Tomcat

Vue d'ensemble.

Cette section décrit les causes du non démarrage de Tomcat et comment y remédier. C'est la cause et le remède pour les cas où Tomcat ne démarre pas pour une raison quelconque et une erreur se produit même si startup.bat ou startup.sh est exécuté. Je voudrais expliquer cela en me basant sur la version 9.0.27 de Tomcat.

Table des matières

  1. Causes du non démarrage de Tomcat
  2. résumé

1. Causes du non démarrage de Tomcat

Il existe différentes causes de non-démarrage de Tomcat, mais cette section décrit les principaux événements qui peuvent provoquer le non-démarrage de Tomcat.

1-1. JAVA_HOME n'est pas défini.

【cause】

Si ni JAVA_HOME ni JRE_HOME ne sont définis, l'erreur suivante s'affiche.

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

【Comment y faire face】

Définissez JAVA_HOME ou JRE_HOME dans 'Propriétés du système, Paramètres avancés, Variables d'environnement'. Si la configuration est correcte, la saisie de "echo %JAVA_HOME%", "echo %JRE_HOME%", etc. à l'invite de commande produira le résultat suivant. Par précaution, redémarrez l'invite de commande si vous modifiez les variables d'environnement. Les variables d'environnement sont lues lorsque l'invite de commande est lancée.

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

1-2. La version de JAVA n'est pas compatible avec Tomcat.

【cause】

Tomcat a une version de Java supportée. Il peut être trouvé sur le site web suivant de Tomcat.

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

Par exemple, la version de Tomcat "9.0.27" correspondrait à "9.0.x" de la "version d'Apache Tomcat" sur le site ci-dessus, qui est "8 et plus".

Cela signifie que la mise en place de Java 8 ou d'une version ultérieure fonctionnera.

【Comment y faire face】

Réécrivez les variables d'environnement dans les Java correspondants en fonction du site Web Tomcat suivant.

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

1-3. JRE_HOME est activé.

【cause】

Tomcat est valable pour "JRE_HOME" si "JRE_HOME" et "JAVA_HOME" sont définis. Même si vous regardez "JAVA_HOME" et voyez que Java est compatible avec Tomcat, "JRE_HOME" fonctionnera, donc "JRE_HOME" doit être compatible Java avec Tomcat.

【Comment y faire face】

Dans 'Propriétés du système, Paramètres avancés, Variables d'environnement', réécrivez Java dans JRE_HOME en Java correspondant à Tomcat.

1-4. Numéros de port contradictoires.

【cause】

Tomcat démarre sur le port 8080 par défaut. Si d'autres applications fonctionnent sur le port 8080, l'erreur suivante est affichée.

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

【Comment y faire face】

Changez le port de Tomcat ou arrêtez les applications en cours d'exécution avec des numéros de port conflictuels.

La commande suivante vous indiquera s'il y a un conflit de numéros de port. La partie "8080" doit être adaptée à votre propre environnement. Si aucun paramètre n'a été modifié, la valeur est 8080. Si rien n'est activé, aucune réponse n'est renvoyée.

※Les commandes suivantes sont 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. résumé

Si Tomcat ne démarre pas, vérifiez les quatre points suivants.

  • JAVA_HOME n'est pas défini.
  • La version de JAVA n'est pas compatible avec Tomcat.
  • JRE_HOME est activé.
  • Numéros de port contradictoires.

Si cela ne fonctionne pas, veuillez vous référer à l'article suivant sur la façon dont Tomcat démarre en premier lieu.

Comment Tomcat est-il activé ?

Merci d'avoir regardé jusqu'à la fin.