Tomcat启动出现Address already in use: JVM_Bind:80错误信息

Tomcat在启动的时候抛出“Address already in use: JVM_Bind:80”错误,该错误信息表示端口80已经被占用,不能再次被使用。

Tomcat在启动的时候抛出“Address already in use: JVM_Bind:80”错误,该错误信息表示端口80已经被占用,不能再次被使用。

详细错误信息如下:
2012-2-23 17:11:31 org.apache.coyote.http11.Http11BaseProtocol start
严重: Error starting endpoint
java.net.BindException: Address already in use: JVM_Bind:80
     at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
     at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)
     at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)
     at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)
     at org.apache.catalina.connector.Connector.start(Connector.java:1090)
     at org.apache.catalina.core.StandardService.start(StandardService.java:457)
     at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
     at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:585)
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2012-2-23 17:11:31 org.apache.catalina.startup.Catalina start
严重: Catalina.start:
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.net.BindException: Address already in use: JVM_Bind:80
     at org.apache.catalina.connector.Connector.start(Connector.java:1097)
     at org.apache.catalina.core.StandardService.start(StandardService.java:457)
     at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
     at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:585)
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2012-2-23 17:11:31 org.apache.catalina.startup.Catalina start
信息: Server startup in 6980 ms


错误原因:
从提示信息“Address already in use: JVM_Bind:80”可以看出,错误是因为80端口被其他应用占用导致的。

解决方案:
第一步:打开你的命令提示符,输入下面命令:

C:Users>netstat -ano | find "80"
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       7144
  TCP    [::]:80                [::]:0                 LISTENING       7144

上面的命令(netstat -ano)表示监听该计算机已经被开启的端口,然后使用find命令查找8899端口

第二步:然后再使用tasklist查看80端口被那个程序使用,这里使用PID 7144进行搜索

C:Users>tasklist | find "7144"
java.exe                      7144 Console                    1     40,604 K

从输出信息可以看出80端口被一个java.exe程序占用。

第三步:将PID等于7144的程序强制进行关闭。关闭该程序有两种方式,分别如下:
方式一:打开任务管理器,在“进程”选项卡中找到“java.exe”的进行,然后进行关闭。
方式二:在命令行使用taskkill命令进行强制关闭。命令如下:

C:Users>taskkill /PID 7144 /F

成功: 已终止 PID 为 7144 的进程。

第四步:重新启动tomcat,此时就不会再抛出80端口被占用的错误了。

祝你顺利!!!

睡眠和休息丧失了时间,却取得了明天工作的精力。 —— 毛泽东
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号