報錯:java.net.bindexception: address already in use: jvm_bind:8080


原因:8080端口被占用

這說明80端口(該端口是Tomcat的監聽端口)已經被其他程序占用,先用命令提示符 " netstat -ano " 命令顯示端口狀態,再在結果中找到端口,然后根據其 PID 在輸入 “ tasklist ” 命令顯示中查找其對應程序,就可知道其程序名,進而查明程序的來源,采取適當的措施。

 

方法可以采用如下:

 

用netstat -ano 命令結果:

Proto Local Address          Foreign Address        State           PID

TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2544

TCP    0.0.0.0:100            0.0.0.0:0              LISTENING       2544

TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1404

TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4

TCP    0.0.0.0:1110           0.0.0.0:0              LISTENING       228

TCP    127.0.0.1:1025         0.0.0.0:0              LISTENING       1052

TCP    127.0.0.1:1159         127.0.0.1:1110         CLOSE_WAIT      2992

TCP    127.0.0.1:1297         127.0.0.1:1110         CLOSE_WAIT      2992

TCP    127.0.0.1:1324         127.0.0.1:1110         CLOSE_WAIT      2992

可見80端口被PID 為2544的進程占用了。

 

用tasklist 命令:

圖像名                       PID 會話名           會話#       內存使用

========================= ====== ================ ======== ============

System Idle Process            0 Console                 0         28 K

System                         4 Console                 0        264 K

WebThunder.exe              2544 Console                 0     12,120 K

java.exe                    2884 Console                 0      6,296 K

tasklist.exe                3464 Console                 0      4,372 K

可見2544是WebThunder.exe進程。將其關閉。重啟TOMCAT。OK!

 

我用這種方法查得是一個python.exe的進程占用了端口繼而查到原來是plone程序占用了8080端口。於是關閉即可。

 

1,獨立運行的Tomcat沒有關閉.自安裝的tomcat程序設置開機自動運行,或者在之前運行過,先關閉myecplipse或jbuilder,在任務管理器中找到Tomcat的進程,將其kill掉,即可.有時候Tomcat非法關閉時,在進程中,仍然存在,仍然占用8080端口.所以只要將其進程殺掉.就可以解決.



2,安裝了其他的軟件占用了Tomcat的端口.用可以查看端口的工具查看一下,或者,直接改掉tomcat的默認端口.即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM