经过Eclipse启动tomcat报错:Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s),按照网上的解决办法改端口也没有用(经过netstat -ano根本就没有发现端口被占用)。html
查看logs里的日志发现启动报错了:java
java.net.SocketException: Unrecognized Windows Sockets error: 10106: create at java.net.ServerSocket.createImpl(ServerSocket.java:308) at java.net.ServerSocket.getImpl(ServerSocket.java:257) at java.net.ServerSocket.bind(ServerSocket.java:376) at java.net.ServerSocket.<init>(ServerSocket.java:237) at org.apache.catalina.core.StandardServer.await(StandardServer.java:440) at org.apache.catalina.startup.Catalina.await(Catalina.java:769) at org.apache.catalina.startup.Catalina.start(Catalina.java:715) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
打开cmd,输入:netsh winsock reset 而后回车apache
winsock是Windows网络编程接口,winsock工做在应用层,它提供与底层传输协议无关的高层数据传输编程接口 netsh winsock reset 是把它恢复到默认状态