有关java.net.BindException: Address already in use: JVM_Bind 的解决方案

今天在维护一个服务器上老项目的时候碰到了这个问题,错误信息如下

22-Oct-2019 11:30:55.155 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 2640 ms
22-Oct-2019 11:30:55.167 严重 [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8805]: 
 java.net.BindException: Address already in use: JVM_Bind
	at java.net.DualStackPlainSocketImpl.bind0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
	at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
	at java.net.ServerSocket.bind(ServerSocket.java:375)
	at java.net.ServerSocket.(ServerSocket.java:237)
	at org.apache.catalina.core.StandardServer.await(StandardServer.java:438)
	at org.apache.catalina.startup.Catalina.await(Catalina.java:729)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:675)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:349)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:483)

原因是:tomcat无法关闭,导致8805端口被占用。

解决办法:

  1. 打开服务器cmd查看8805端口被哪个进程占用;
    netstat -p tcp -ano | findstr :8805
    在这里插入图片描述

  2. 查看8444该进程
    tasklist | findstr 8444
    在这里插入图片描述

  3. 确认是该进程后,干掉它!
    taskkill -PID 8444 -F
    在这里插入图片描述
    记录一下,防止自己忘记。

你可能感兴趣的:(Java小白的错误合集,java,tomcat)