这个异常不用慌张,要稳住,不是什么大问题。
2018-12-21 11:42:11 org.apache.coyote.http11.Http11AprProtocol init
严重: Error initializing endpoint
java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/??????/???)????í?????Ρ?
at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:704)
at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:108)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1141)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)
at org.apache.catalina.core.StandardService.init(StandardService.java:724)
at org.apache.catalina.core.StandardService.start(StandardService.java:512)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:761)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
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:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2018-12-21 11:42:11 org.apache.catalina.core.StandardService initialize
解决方法:
由于我的tomcat的端口是8080,所以查看8080被占用的情况,也可以通过:
用cmd命令打开dos界面,输入netstat -a,可以看到8080端口被占用
(1).输入netstat -aon|findstr "8080"查看占用8080端口的进程:
可以看到占用8080端口的进程ID为18084,而其他的两个进程与tomcat没有关系,所以不用管另外两个进程。
(2).这时候你可以打开任务管理器将该进程结束掉,当然为了安全起见,还是先看一下18084的这个进程是由哪个程序开启的吧
输入命令:tasklist|findstr “18084”
在桌面使用Shift+Ctrl+Delete键打开任务管理器
在详细信息中找到PID,PID中找到18084这个进程,由于我已经关闭了Myeclipse,所以只有一个javax.exe,就把这个javax.exe直接结束任务就可以了。
分析一下这个javax.exe在我关闭了Myeclipse后,这个进程依旧在的原因;
由于上午我在debug模式下频繁F6,导致Myeclipse卡死,Myeclipse就异常退出,而javax.exe在我关闭了Myeclipse后并没有结束进程,所以在重新打开后就出现这个Socket bind failed异常。
网上还有其他的解决办法,修改Tomcat的安装目录下\conf\server.xml中的端口8080为其他的,再次启动tomcat就可以了
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>