Saya mendapatkan kesalahan berikut ketika saya mencoba menjalankan program JSP sederhana di Tomcat di Eclipse.
Beberapa port (8005, 8080, 8009) yang diperlukan oleh Tomcat v6.0 Server di localhost sudah digunakan. Server mungkin sudah berjalan di proses lain, atau proses sistem mungkin menggunakan port. Untuk memulai server ini, Anda harus menghentikan proses lainnya atau mengubah nomor port.
Bagaimana ini disebabkan dan bagaimana saya bisa menyelesaikannya?
netstat -ano | findStr 8080
untuk menemukan layanan yang berjalan dan kemudian menemukan proses id dan salin pid dan jalankan perintah lagi sebagaitaskkill /F /PID pid_number
Jawaban:
Anda memiliki instance lain dari Tomcat yang sudah berjalan. Anda dapat mengkonfirmasi ini dengan masuk ke
http://localhost:8080
dalam browser web Anda dan memeriksa apakah Anda mendapatkan halaman utama Tomcat default atau halaman kesalahan 404 spesifik Tomcat. Keduanya sama-sama bukti yang sah bahwa Tomcat berfungsi dengan baik; jika tidak, maka Anda akan mendapatkan pesan kesalahan waktu tunggu koneksi HTTP khusus browser.Anda harus mematikannya. Pergi ke
/bin
subfolder dari folder instalasi Tomcat dan jalankan skripshutdown.bat
(Windows) ataushutdown.sh
(Unix). Jika sia-sia, tutup Eclipse dan kemudian buka task manager dan bunuh semuajava
dan / ataujavaw
proses.Atau jika Anda benar-benar menginstalnya sebagai layanan Windows untuk beberapa alasan (ini dimaksudkan untuk produksi dan tidak membantu ketika Anda baru saja mengembangkan), buka manajer layanan ( Mulai> Jalankan> services.msc ) dan hentikan layanan Tomcat. Jika perlu, hapus instalasi layanan Windows sama sekali. Untuk pengembangan, cukup file ZIP yang memadai.
Atau jika maksud Anda sebenarnya adalah menjalankan dua instance Tomcat secara bersamaan, maka Anda harus mengonfigurasi instance kedua untuk mendengarkan pada port yang berbeda. Baca dokumentasi Tomcat untuk lebih detail.
sumber
sh shutdown.sh
di terminal dalam direktori / bin.shutdown.bat
di folder bin saya. Tomcat dipasang sebagai layanan dan bukan sebagai zip. Menghentikan layanan kucing jantan dalam layanan memperbaiki masalah. Terima kasih. Chenqui.system monitor
atautask manager
mematikan proses java yang menggunakanabout 400 MB
atau lebihRAM
juga akan menyelesaikan masalah. Itu tanpa sadar memesan proses.sumber
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
kill
perintah.Jika Anda menjalankan di windows coba ini di prompt baris perintah:
Ini akan menampilkan semua port yang digunakan dan ID proses PID # dari proses yang menggunakan port itu. Kemudian Ctrl+ Alt+ Deldan buka Task Manager untuk melihat proses apa yang dimaksud.
Anda kemudian dapat memilih untuk menutup / menghentikannya atau mengkonfigurasi server Anda untuk menggunakan port lain. Untuk memeriksa apakah port yang dipilih baru (katakanlah 8010) tersedia lakukan ini:
Jika tidak mengembalikan garis apa pun maka Anda baik-baik saja.
Untuk mengubah port pergi ke tampilan Server, buka server.xml dan ubah port di sana. Milik saya memiliki entri ini:
sumber
findstr
bagi yang tanpa grep.Jika Anda berada di lingkungan mac, inilah yang saya lakukan.
Temukan id proses yang berjalan pada port ini dari terminal, misalnya, 8080:
dan bunuh itu:
Contoh:
Anda dapat melihat hasil berikut:
dan bunuh itu: (
kill -9 21347
)sumber
Langkah-langkah untuk membebaskan port yang sudah digunakan untuk menjalankan tomcat server di Eclipse
Sebagai contoh, misalkan port 8080 digunakan, kita perlu membuat 8080 gratis untuk menjalankan kucing jantan
Langkah 1:
C: \ Users \ username> netstat -o -n -a | findstr 0.0: 8080
TCP 0.0.0.0:3000 0.0.0.0.00 MENDENGARKAN 3116
Sekarang, kita dapat melihat bahwa MENDENGARKAN port 3116 untuk 8080,
Kita harus membunuh 3116 sekarang
Langkah 2:-
C: \ Users \ username> taskkill / F / PID 3116
Langkah 3: Pergi ke Eclipse dan mulai Server, itu akan berjalan
sumber
Jika Anda menggunakan Eclipse maka klik dua kali pada server dan klik dua kali pada server kucing jantan maka satu file akan terbuka. Dalam file itu, ubah port HTTP ke beberapa nomor port lain dan simpan ( Ctrl+ S) lalu mulai lagi server.
sumber
Jika Eclipse berkata
Kesalahan ini terjadi karena kucing jantan mungkin berjalan di latar belakang, jadi hentikan dulu server itu .. ikuti detail di bawah ini.
Solusinya adalah:
Terima kasih!
sumber
Saya tidak memiliki instance lain dari Tomcat yang menjalankan iklan, tidak ada proses lain menggunakan "Tomcat port" (dalam kasus saya, port 8088). Eclipse mengirim pesan yang sama saat memulai Tomcat:
.... Server mungkin sudah berjalan di proses lain, atau proses sistem mungkin menggunakan port. Untuk memulai server ini, Anda harus menghentikan proses lainnya atau mengubah nomor port.
Saya memecahkan masalah dengan cara ini:
sumber
Apa yang saya lakukan setelah membaca semua jawaban yang disarankan dan karena saya tahu port saya sudah digunakan. Saya mengklik dua kali pada Tomcat di bawah tab Server di gerhana dan itu membuka informasi ikhtisar dan kemudian menemukan informasi port. Baru saja mengubah port yang konflik karena port saya adalah port 8009 (kesalahan disebutkan saat memulai server). Saya telah mengubahnya ke 8008 dan berfungsi dengan baik. Cobalah jika port yang diubah tidak akan digunakan server akan mulai.
sumber
Langkah 1: netstat -a -o -n dan itu akan memunculkan daftar jaringan, cari alamat lokal seperti 127.0.0.1:8080 dan catat PID (mis. 3624)
Langkah2: taskkill / F / PID 3624 . Jalankan perintah ini untuk mematikan proses itu.
tautan ke pos
sumber
Pada Windows gunakan perintah untuk menghentikan instance tomcat yang sudah berjalan dan coba jalankan lagi di gerhana, mungkin berhasil.
Atau Anda dapat mengubah port di XML server jika Anda hanya ingin menjalankan beberapa port lain.
sumber
Cara mudah untuk menyelesaikan masalah Anda:
Server mungkin sudah berjalan di proses lain, atau proses sistem mungkin menggunakan port. Untuk membunuh port itu, lakukan hal berikut:
1) Unduh TCPView (hanya 285kb) dari tautan berikut.
http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx
2) Ekstrak folder dan mulai aplikasi TCPView .
3) Klik kanan pada java.exe (karena 8009.885 port biasanya digunakan oleh proses java) dan pilih opsi End Process .
ini akan menghentikan proses lain dengan mudah ..
CATATAN : Menjalankan TOMCATPATH / bin / shutdown.bat mungkin tidak mematikan Tomcat ketika berisi beberapa setan atau utas yang tidak dikelola. Dalam kasus seperti itu TCPView berfungsi dengan baik tanpa masalah.
sumber
Jika Anda berada di Java EE prospektif di Eclipse dan mencoba untuk memulai Tomcat Server di Eclipse dalam mode debug, maka Anda akan mendapatkan kesalahan seperti itu. Anda harus beralih untuk men-debug calon di Eclipse. Saya telah memecahkan masalah saya seperti ini.
sumber
Terkadang jika port tidak dibebaskan bahkan setelah mencoba shutdown.bat seperti yang disarankan @BalusC, Anda dapat mematikan proses javaw. Lakukan langkah-langkah berikut:
Masukkan perintah ps. Anda dapat melihat gambar sebagai berikut:
Lihat nomor proses dari proses "javaw". Nomor proses adalah angka paling kanan di kolom, saya telah menyoroti dalam jumlah proses gambar javaw misalnya.
Masukkan perintah kill. javaw terbunuh dan sekarang Anda harus dapat menjalankan program.
sumber
Berikut ini satu opsi lagi untuk dicoba jika tidak ada upaya di atas yang membantu. Anda mungkin menggunakan Eclipse dari Drive Bersama (misalnya, H :) . Jika demikian, pindahkan / salin seluruh direktori Eclipse ke C: dan coba lagi.
Eclipse saya tidak dapat membuka port untuk server Tomcat (dengan kesalahan di atas), atau bahkan terhubung ke internet. Saya juga mencoba plugin Tomcat lain (Sysdeo) yang gagal membuka port juga.
Ini adalah opsi yang saya coba:
Periksa dan Bunuh Instans Tomcat Lain
netstat -ano
dan periksa apakah ada proses lain yang menggunakan port yang konflik.Ubah Port Tomcat di Eclipse
Bunuh java.exe dan javaw
Lihat jawaban saya yang lain untuk Eclipse yang tidak terhubung ke Internet ( https://stackoverflow.com/a/37246087/4212710 ).
sumber
Untuk pengguna windows:
Buka Task Manager secara langsung dengan kombinasi tombol CTRL + SHIFT + ESC.
Bunuh proses "java.exe" dengan mengklik kanan dan memilih "Akhiri Tugas".
sumber
Saya memeriksa semua jawaban tetapi
informing only to kill PID
.Jika Anda memiliki akses terminal yang dibagikan oleh semua, itu tidak akan membantu atau mungkin Anda tidak memiliki izin untuk membunuh PID .
Dalam hal ini yang dapat Anda lakukan adalah:
Double click on server
Go to Overview and change ports in Ports
seperti ini:sumber
Perbaikan yang lebih sederhana yang berfungsi untuk saya adalah menghapus aplikasi web saya saat ini dari tomcat melalui tab "Server". Setelah saya menghapusnya, masalahnya hilang. Cukup gunakan kembali proyek Anda dengan menjalankan Run As> Run on Server.
sumber
Masalahnya sering muncul ketika Apache Tomcat gagal untuk mengakhiri, dengan benar, meskipun instruksi shutdown telah dikirim. Dalam kasus saya, menggunakan Tomcat 8, ini terjadi dengan keteraturan yang mengganggu. Untungnya, Anda dapat menggunakan Windows PowerShell dan
netstat
perintah untuk membuat skrip sederhana untuk menghentikan prosesnya.Skrip PowerShell berikut akan mem-parsing keluaran dari
netstat
untuk menemukan proses apa pun yang sedang didengarkan127.0.0.1:8005
, ekstrak PID-nya dan kemudian matikan proses itu:Jika Anda
server.xml
mengkonfigurasi Tomcat untuk menggunakan port atau IP yang berbeda, edit ekspresi reguler pada baris keempat skrip yang sesuai.Akhirnya, saya harus menunjukkan bahwa situasinya lebih baik di Linux karena Anda dapat menginstruksikan Tomcat untuk menyimpan PID-nya ke file pada saat startup dan menggunakan saklar untuk memaksa shutdown, nanti - skrip shutdown untuk 'nix systems sudah dilengkapi dengan kemampuan untuk membunuh proses dan pekerjaan buruk dengan
netstat
tidak diperlukan.sumber
Jika masalah di atas terjadi di OS berbasis Windows 7 atau 10, masalah terjadi karena Tomcat berjalan sebagai Layanan Windows. Untuk menghentikan Tomcat berjalan sebagai Layanan Windows, Buka Panel Kontrol Windows. Temukan layanan "Apache Tomcat" dan Hentikan. Cara lain adalah dengan mematikan proses yang berjalan pada port 8080 menggunakan cmd.
Buka cmd menjalankannya sebagai administrator.
C berikut : \ users \ username> taskkill / F / PID 2160
sumber
Mungkin karena Anda tidak menghentikan layanan kucing jantan dengan benar. Untuk melakukan itu, Buka task manager Anda di sana Anda dapat melihat
javaw.exe
layanan. Pertama hentikan layanan itu. Sekarang restart kucing jantan Anda itu berfungsi dengan baik.sumber
Dalam kasus saya, itu memberi saya kesalahan: Port 8005 diperlukan oleh Tomcat v8.0 Server di localhost sudah digunakan
Saya mengubah port 8005 di apache-tomcat-8.0.39 \ conf \ server.xml tetapi perubahan tidak tercermin. Lalu saya melakukan perubahan ini dari gerhana. dengan mengklik ganda server dan memodifikasi port dari 8005 ke 8006 dan berfungsi.
Sebelum meletakkan 8006 saya memeriksa shell windows apakah port ini tersedia atau tidak. Dengan menjalankan perintah berikut:
sumber
Saya menghadapi masalah yang sama dan setelah mencari jawabannya seperti yang ditunjukkan di bawah ini: 1. buka Monitor Tomcat seperti yang ditunjukkan di bawah ini:
Akhirnya berhasil dengan saya setelah banyak percobaan dan solusi yang disarankan.
Salam, Kerelos Mikhail
sumber
Pada Eclipse, hapus folder konfigurasi Tomcat di bawah proyek "Server". Saya mencobanya sebagai harapan terakhir dan itu berhasil.
sumber
Dalam hal windows, saya mengalami hal-hal baru ... menghentikan tomcat dari folder / bin akan segera tidak melepaskan port 8080. Dibutuhkan sekitar 5-10 menit untuk melepaskan port. Setelah 10 menit lagi jika saya mencoba menjalankan proyek saya Run-> Jalankan di server .. itu memungkinkan untuk berjalan.
Saya tidak yakin apakah pemahaman saya benar!
sumber
Lihat blog berikut "cara membunuh kucing jantan tanpa harus me-restart komputer Anda"
http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html
Semoga ini bisa membantu seseorang di masa depan.
sumber
Itu terjadi ketika orang lain dalam proyek ini juga menggunakan nomor port yang sama seperti yang Anda gunakan! klik dua kali tomcat server, ubah nomor port menjadi apa pun 8585 atau apa pun. Kode sekarang akan mulai berjalan!
sumber
Bagaimana cara mematikan layanan windows menggunakan PID -
netstat -ano
taskkill /f /pid 5760
Terima kasih
bunuh layanan Windows yang macet saat berhenti atau mulai
sumber
Untuk memeriksa apakah instance Tomcat lain sudah berjalan atau proses lain menggunakan port yang dapat Anda gunakan:
Anda mungkin mendapatkan sesuatu seperti ini:
Buka task manager Ctrl+ Shift+ Esc, dan bunuh
Tomcat7.exe
atau proses lain menggunakan port ini.sumber
Tomcat Anda mungkin sudah berjalan. Itu sebabnya Anda mendapat kesalahan. Saya pernah mengalami masalah yang sama sebelumnya. Saya memecahkannya dengan sangat sederhana:
Itu saja.
sumber