Tomcat'in başlamama nedenleri


Yayın Tarihi:8 Ocak 2021.



INFOMARTION > Tomcat'in başlamama nedenleri

Genel bakış.

Bu bölümde Tomcat'in başlamamasının nedenleri ve bunlarla nasıl başa çıkılacağı açıklanmaktadır. Bu, Tomcat'in bir nedenden dolayı başlamadığı ve startup.bat veya startup.sh çalıştırılsa bile bir hata oluştuğu durumların nedeni ve çözümüdür. Bunu Tomcat'in '9.0.27' sürümünü temel alarak açıklamak istiyorum.

İçindekiler

  1. Tomcat'in başlamama nedenleri
  2. özet

1. Tomcat'in başlamama nedenleri

Tomcat'in başlamamasının çeşitli nedenleri vardır, ancak bu bölümde Tomcat'in başlamamasına neden olabilecek ana olaylar açıklanmaktadır.

1-1. JAVA_HOME ayarlanmamış.

【Çünkü】

JAVA_HOME veya JRE_HOME ayarlanmamışsa, aşağıdaki hata verilir.

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

【Bununla nasıl başa çıkılır?】

JAVA_HOME veya JRE_HOME'u 'Sistem Özellikleri, Gelişmiş Ayarlar, Ortam Değişkenleri'nden ayarlayın. Doğru şekilde ayarlanırsa, komut istemine 'echo %JAVA_HOME%', 'echo %JRE_HOME%' vb. yazılması aşağıdaki çıktıyı üretecektir. Önlem olarak, ortam değişkenlerini değiştirirseniz komut istemini yeniden başlatın. Komut istemi başlatıldığında ortam değişkenleri okunur.

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

1-2. JAVA sürümü Tomcat ile uyumlu değil.

【Çünkü】

Tomcat'in desteklenen bir Java sürümü vardır. Aşağıdaki Tomcat web sitesinde bulunabilir.

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

Örneğin, Tomcat sürümü "9.0.27", yukarıdaki sitede "8 ve sonrası" olan "Apache Tomcat Sürümü "nün "9.0.x "i olacaktır.

Bu, Java 8 veya sonrasının ayarlanmasının çalışacağı anlamına gelir.

【Bununla nasıl başa çıkılır?】

Ortam değişkenlerini aşağıdaki Tomcat web sitesini temel alarak ilgili Java'ya yeniden yazın.

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

1-3. JRE_HOME etkinleştirilir.

【Çünkü】

Tomcat, "JRE_HOME" ve "JAVA_HOME" ayarlanmışsa "JRE_HOME" için geçerlidir. "JAVA_HOME "a bakıp Java'nın Tomcat ile uyumlu olduğunu görseniz bile "JRE_HOME" çalışacaktır, bu nedenle "JRE_HOME" Tomcat ile uyumlu Java olmalıdır.

【Bununla nasıl başa çıkılır?】

'Sistem Özellikleri, Gelişmiş Ayarlar, Ortam Değişkenleri'nden, JRE_HOME'daki Java'yı Tomcat'e karşılık gelen Java'ya yeniden yazın.

1-4. Çakışan bağlantı noktası numaraları.

【Çünkü】

Tomcat varsayılan olarak 8080 numaralı bağlantı noktasında başlar. Eğer 8080 portunda çalışan başka uygulamalar varsa, aşağıdaki hata çıktısı alınır.

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

【Bununla nasıl başa çıkılır?】

Tomcat'in bağlantı noktasını değiştirin veya çalışan çakışan bağlantı noktası numaralarına sahip uygulamaları durdurun.

Aşağıdaki komut size bir bağlantı noktası numarası çakışması olup olmadığını söyleyecektir. "8080" kısmı kendi ortamınıza uyarlanmalıdır. Herhangi bir ayar değiştirilmemişse, değer 8080'dir. Hiçbir şey etkinleştirilmemişse yanıt döndürülmez.

※Aşağıdaki komutlar Windows'tur.

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. özet

Tomcat başlamazsa, aşağıdaki dört noktayı kontrol edin.

  • JAVA_HOME ayarlanmamış.
  • JAVA sürümü Tomcat ile uyumlu değil.
  • JRE_HOME etkinleştirilir.
  • Çakışan bağlantı noktası numaraları.

Bu işe yaramazsa, lütfen Tomcat'in ilk etapta nasıl başlatıldığına ilişkin aşağıdaki makaleye bakın.

Tomcat nasıl etkinleştirilir?

Sonuna kadar izlediğiniz için teşekkür ederiz.