Tomcat tidak dapat dimulai? Daftar periksa pemecahan masalah


Tanggal publikasi:

Diperbarui:


Artikel teknis > Tomcat tidak dapat dimulai? Daftar periksa pemecahan masalah

Konteks 2026 dan penggunaan yang aman

Kesimpulan: Baca robot pertama - penyebab pengecualian dalam Tomcat dan service- manajer log sebelum mengubah konfigurasi. Kemudian verifikasi kompatibilitas Java, kepemilikan port, ijin berkas, sintaks XML, ruang disk, dan efektif CATALINA_BASE.

Yang akan Anda pelajari

  • Perintah berulang untuk memeriksa status layanan, log, lingkungan, dan konektor.
  • Cara membedakan kegagalan peluncuran JVM dari konfigurasi Tomcat atau gagal menyebarkan aplikasi.
  • Mengapa menghapus direktori kerja atau meningkatkan memori tanpa bukti dapat menyembunyikan masalah yang sebenarnya.

Untuk siapa ini: Pengembang dan administrator menanggapi proses Tomcat yang keluar atau tidak pernah membuka konektornya.

Konteks 2026: Kasus-kasus asli tetap berguna pola diagnostik, tetapi lokasi berkas dan didukung versi Java tergantung pada keluarga Tomcat yang terpasang dan kemasan. Jangan gunakan kembali opsi JVM legacy tanpa memeriksa dokumentasi Java saat ini.

Catatan keamanan: Contoh perintah dan konfigurasi dalam artikel asli belum dijalankan ulang dalam lingkungan produksi saat ini. Verifikasi versi yang didukung, cadangan, kendali akses, dan langkah rollback dalam lingkungan tes yang terpisah sebelum menerapkannya.

Sumber resmi utama

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. Artikel ini menjelaskan hal ini berdasarkan versi Tomcat '9.0.27'.

Daftar isi

  1. Tomcat tidak dapat dimulai? Daftar periksa pemecahan masalah
  2. ringkasan

1. Tomcat tidak dapat dimulai? Daftar periksa pemecahan masalah

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.

Catatan: 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.

Proses startup Apache Tomcat: skrip startup, Bootstrap, dan Catalina

Semoga penjelasan ini membantu.