有时候把在myeclpise项目部署到tomcat中的时候会莫名其妙的发现tomcat启动不了,换成是myeclpise自带的tomcat启动,还是无法成功启动。看看控制台显示的错误信息,有时候会看到 java.net.BindException: Address already in use: JVM_Bind:8080

这样的错误,其实这个错误简单的理解就是tomcat的端口号8080被别的进程给占用了(如果你重新设置了tomcat的端口号,这里可能是其他的数字),看到这情况,相信不少的人就很郁闷了。有人说,这还不简单,我关闭myeclipse不就可以了吗,当然你这种做法有时候有用,但是如果不是myeclipse的进程占用了tomcat的端口号呢,你再重新打开myeclipse启动tomcat的时候,错误依旧吧。还有人说,我不管哪个进程占用了tomcat的端口,我直接注销下电脑不就行了,但是有时候你电脑上面打开的程序多了,万一有啥重要的东西忘记保存,你把电脑给注销了,岂不是……。其实还是有办法把那占用tomcat端口的进程给揪出来的,办法如下:点击“运行”输入“cmd”并回车,输入“netstat -ano”并回车,你会看到如下的截图

有人会说,这么多,我怎么找出究竟是哪个程序占用了8080的端口呢,如果你有超人的眼力,一眼就你看出占用8080的进程的地方,不过我很少相信有这样的人,这样的密密麻麻的数字跟字母,估计不少人看了头都大了,还要我去找那个8080,其实很简单鼠标右键在TCP ---------这行上面鼠标右键,就可以看到”查找”的选项,点击后输入8080,点击“查找下一个”,就会看到如上图所示的界面。8080所在的那行的进程就是占用8080端口的,记下该行的PID(PID就是各进程的身份标识),示例中的PID为6072,既然我我们已经找到该进程的PID了,接着就是打开任务管理器了CTRL+ALT+delete。就看到如下的画面:

 

有人说我没看到PID的那样的列啊,不要紧,点击“查看”,再点击“选择列”,在PID(进程标识符)(p)前面打上勾,然后点击“确定”,接下来就简单了,找到PID为6072的进程,毫不犹豫的杀死它。(结束该进程,它太可恨了,所以就kill咯 )。重新启动tomcat吧,一切如故。