您的位置:首页 > 其它

address already in use: jvm_bind:8080

2011-01-22 18:54 204 查看
可能是之前安过一个JDK,所以隔了一段时间之后,我再打开myeclipse时,启动tomcat总是出错

后来百度了很久,才发现解决办法,如下:

http://blog.163.com/jean757282710@126/blog/static/11422424920101015104259184/

报错:java.net.bindexception: address already in use: jvm_bind:8080

原因:8080端口被占用

这说明8080端口(该端口是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
可见8080端口被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的默认端口.即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: