特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:
http://www.cnblogs.com/mao2080/
1、问题描述
通过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根本就没有发现端口被占用)。
2、解决办法
查看logs里的日志发现启动报错了:
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)
3、操作步骤
打开cmd,输入:netsh winsock reset 然后回车
winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口 netsh winsock reset 是把它恢复到默认状态