Penyebab Tomcat tidak memulai


Tanggal Publikasi:8 Januari 2021.



INFOMARTION > Penyebab Tomcat tidak memulai

Ikhtisar.

Bagian ini menjelaskan penyebab Tomcat tidak memulai dan bagaimana cara mengatasinya. Ini adalah penyebab dan solusi untuk kasus-kasus di mana Tomcat tidak memulai untuk beberapa alasan dan kesalahan terjadi bahkan jika startup.bat atau startup.sh dieksekusi. Saya ingin menjelaskan hal ini berdasarkan versi Tomcat '9.0.27'.

Daftar Isi

  1. Penyebab Tomcat tidak memulai
  2. ringkasan

1. Penyebab Tomcat tidak memulai

Ada berbagai penyebab Tomcat tidak memulai, tetapi bagian ini menjelaskan peristiwa utama yang dapat menyebabkan Tomcat tidak memulai.

1-1. JAVA_HOME tidak diatur.

【karena】

Jika JAVA_HOME maupun JRE_HOME tidak diset, kesalahan berikut ini adalah output.

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

【Bagaimana cara menghadapinya】

Tetapkan JAVA_HOME atau JRE_HOME dari 'System Properties, Advanced Settings, Environment Variables'. Jika diatur dengan benar, mengetikkan 'echo %JAVA_HOME%', 'echo %JRE_HOME%', dsb. pada command prompt akan menghasilkan output berikut ini. Sebagai tindakan pencegahan, restart command prompt jika Anda mengubah variabel lingkungan. Variabel lingkungan dibaca ketika command prompt dimulai.

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

1-2. Versi JAVA tidak kompatibel dengan Tomcat.

【karena】

Tomcat memiliki versi Java yang didukung. Ini dapat ditemukan di situs web Tomcat berikut ini.

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

Misalnya, versi Tomcat "9.0.27" akan menjadi "9.0.x" dari "Versi Apache Tomcat" di situs di atas, yaitu "8 dan yang lebih baru".

Ini berarti bahwa pengaturan Java 8 atau yang lebih baru akan berfungsi.

【Bagaimana cara menghadapinya】

Tulis ulang variabel lingkungan ke Java yang sesuai berdasarkan situs web Tomcat berikut.

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

1-3. JRE_HOME diaktifkan.

【karena】

Tomcat valid untuk "JRE_HOME" jika "JRE_HOME" dan "JAVA_HOME" ditetapkan. Bahkan jika Anda melihat "JAVA_HOME" dan melihat bahwa Java kompatibel dengan Tomcat, "JRE_HOME" akan bekerja, jadi "JRE_HOME" haruslah Java yang kompatibel dengan Tomcat.

【Bagaimana cara menghadapinya】

Dari 'System Properties, Advanced Settings, Environment Variables', tulis ulang Java di JRE_HOME ke Java yang sesuai dengan Tomcat.

1-4. Nomor port yang bertentangan.

【karena】

Tomcat dimulai pada port 8080 secara default. Jika ada aplikasi lain yang berjalan pada port 8080, kesalahan berikut ini adalah outputnya.

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

【Bagaimana cara menghadapinya】

Ubah port Tomcat atau hentikan aplikasi dengan nomor port yang bertentangan yang sedang berjalan.

Perintah berikut ini akan memberitahu Anda jika ada konflik nomor port. Bagian "8080" harus disesuaikan dengan lingkungan Anda sendiri. Jika tidak ada pengaturan yang diubah, nilainya adalah 8080. Jika tidak ada yang diaktifkan, tidak ada respons yang dikembalikan.

※Perintah-perintah berikut adalah 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. ringkasan

Jika Tomcat tidak memulai, periksa empat poin berikut ini.

  • JAVA_HOME tidak diatur.
  • Versi JAVA tidak kompatibel dengan Tomcat.
  • JRE_HOME diaktifkan.
  • Nomor port yang bertentangan.

Jika hal itu tidak berhasil, silakan merujuk ke artikel berikut ini tentang bagaimana Tomcat memulai di tempat pertama.

Bagaimana Tomcat diaktifkan?

Terima kasih telah menonton sampai akhir.