异常:java.net.BindException: Address already in use: JVM_Bind:8080

现象:

启动Tomcat时抛出异常:java.net.BindException: Address already in use: JVM_Bind:8080

原因:

8080端口已经被其他程序占用(该端口是Tomcat的监听端口)

方案:

1、在CMD黑窗口下键入命令:netstat -ano

--------------------------------------------------------------------------------------------------------

C:\Documents and Settings\issuser>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:25               0.0.0.0:0              LISTENING       856
  TCP    0.0.0.0:80               0.0.0.0:0              LISTENING       856
  TCP    0.0.0.0:135             0.0.0.0:0              LISTENING       1552
  TCP    0.0.0.0:443             0.0.0.0:0              LISTENING       856
  TCP    0.0.0.0:445             0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:1029           0.0.0.0:0              LISTENING       856
  TCP    0.0.0.0:1032           0.0.0.0:0              LISTENING       3836
  TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING       176
  TCP    0.0.0.0:1831           0.0.0.0:0              LISTENING       2140
  TCP    0.0.0.0:2407           0.0.0.0:0              LISTENING       176
  TCP    0.0.0.0:2425           0.0.0.0:0              LISTENING       2704
  TCP    0.0.0.0:5500           0.0.0.0:0              LISTENING       2212
  TCP    0.0.0.0:5520           0.0.0.0:0              LISTENING       2212
  TCP    0.0.0.0:7034           0.0.0.0:0              LISTENING       1688
  TCP    0.0.0.0:8009           0.0.0.0:0              LISTENING       5444
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       5444
  TCP    127.0.0.1:1071         127.0.0.1:1072         ESTABLISHED     2328
  TCP    127.0.0.1:1072         127.0.0.1:1071         ESTABLISHED     2328

--------------------------------------------------------------------------------------------------------

扫描二维码关注公众号,回复: 1324430 查看本文章

在显示系统当前被监听的进程及其占用的端口、ID等信息的列表中可以看到8080端口被5444进程给占用了。

2、然后再键入命令:tasklist

--------------------------------------------------------------------------------------------------------

C:\Documents and Settings\issuser>tasklist
plsqldev.exe                          5820 Console                 0     26,296 K
plugin-container.exe              4204 Console                 0     36,880 K
cmd.exe                                 5336 Console                 0      4,908 K
ReportingServicesService.     1060 Console                 0     45,448 K
javaw.exe                              5444 Console                 0     34,068 K
taskmgr.exe                           4152 Console                 0      2,684 K

--------------------------------------------------------------------------------------------------------

运行命令后,在出现的列表里可以找到5444对应进程。原来是javaw.exe进程占用了8080端口,需要结束这个进程。

3、然后打开任务管理器,终束对应进程。

4、最后再次启动tomcat,该问题解决。

javaw.exe占用8080端口是经常出现的,因此有时候不需要进行上面的命令查找操作,就下意识的打开任务管理器,找到进程javaw.exe并结束它。然而,当出现8080端口被占用但又不清楚是哪个进程的时候,便可使用此种方案进行解决。【互联网纳】

猜你喜欢

转载自itping.iteye.com/blog/1766410