Java.net.BindException Tomcat: Alamat Sudah Digunakan Kesalahan di Java

1. Ikhtisar

Dalam tutorial singkat ini, kita akan melihat apa yang menyebabkan kesalahan java.net.BindingException umum : Alamat sudah dalam Gunakan kesalahan dan bagaimana kita bisa mengatasinya.

2. Kapan Kesalahan Terjadi?

Seperti kita ketahui, server Apache Tomcat secara default menggunakan port 8080.

Nomor port berkisar dari 0 hingga 65535, namun, port hanya dapat ditempati oleh satu aplikasi kapan saja .

Pengecualian menyatakan bahwa aplikasi mencoba menggunakan porta yang sudah diambil oleh proses lain, atau kami tidak menghentikan server Tomcat dengan benar.

3. Mendiagnosis

Untuk mengatasi kesalahan ini, kita dapat mematikan layanan yang mengambil port tersebut atau dapat mengubah server web kita untuk berjalan di port lain.

3.1. Menemukan Konflik

Dalam hal ini, kita perlu mencari tahu aplikasi mana yang menggunakan port tersebut.

The netstat perintah dapat digunakan untuk menemukan koneksi TCP / IP saat ini.

Di bawah ini adalah perintah yang dapat digunakan untuk menemukan dan menghentikan proses di lingkungan yang berbeda.

Di Windows, kolom keluaran terakhir akan memberi kita id proses dari layanan yang saat ini berjalan di 8080:

netstat -ano | find "8080"

Keluaran:

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 21376 

Di sini, 21376 adalah id proses dari proses yang mendengarkan pada port 8080.

Di Lingkungan Unix / Linux :

netstat -pant | grep "8080"

Keluaran:

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 21376 

Sama seperti keluaran Windows. Di sini, 21376 adalah id proses dari proses yang mendengarkan pada port 8080.

Di Mac OS X:

lsof -t -i :8080

Keluaran:

21376

Ini akan menampilkan PID saja.

3.2. Menjalankan Server di Port Lain

Jika kita tahu proses apa yang sedang berjalan, mengapa itu berjalan dan itu perlu dijalankan pada port itu, kita dapat mengubah port yang aplikasi server kita coba jalankan.

Untuk mengubah port Tomcat, kita perlu mengedit file server.xml . Untuk melakukan ini:

  • Buka folder tomcat / conf
  • edit server.xml
  • ganti port konektor dengan port baru
  • restart server kucing jantan

File server.xml terlihat seperti ini:

Sekarang Tomcat akan berjalan di port yang disesuaikan.

3.3. Membunuh Layanan Lari

Untuk menghentikan proses yang sedang berjalan, kita bisa menggunakan perintah kill .

Menggunakan ID proses yang kami temukan di 3.1., Kami memerlukan perintah yang berbeda tergantung pada Sistem Operasi yang kami jalankan.

Di lingkungan Windows:

taskkill /F /PID 21376

Di lingkungan Unix / Linux:

kill - 21376

Lingkungan Mac OS X:

kill -9 21376

4. Kesimpulan

Seperti yang disebutkan di awal artikel, java.net.BindingException adalah kesalahan yang lazim tetapi mudah diselesaikan.

Kesulitan utama adalah menemukan layanan yang berkonflik menggunakan port dengan aplikasi terminal netstat kemudian memutuskan tindakan yang sesuai.

Setelah ditemukan, perbaikannya mudah.