Αιτίες της μη εκκίνησης του Tomcat


Ημερομηνία δημοσίευσης:8 Ιανουαρίου 2021.



INFOMARTION > Αιτίες της μη εκκίνησης του Tomcat

Επισκόπηση.

Αυτή η ενότητα περιγράφει τις αιτίες της μη εκκίνησης του Tomcat και τον τρόπο αντιμετώπισής τους. Αυτή είναι η αιτία και η θεραπεία για τις περιπτώσεις όπου ο Tomcat δεν ξεκινά για κάποιο λόγο και εμφανίζεται σφάλμα ακόμη και αν εκτελεστεί το startup.bat ή το startup.sh. Θα ήθελα να το εξηγήσω αυτό με βάση την έκδοση '9.0.27' του Tomcat.

Πίνακας περιεχομένων

  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;

Σας ευχαριστούμε που παρακολουθήσατε μέχρι το τέλος.