(非原创)
今天碰到一个问题,在eclipse中运行一个程序,eclipse里面的tomcat一启动就报错说端口占用,eclipse彻底不能联网,maven不能下载依赖包,不能建立maven项目,不能安装插件,而后我查看了本机的端口占用状况也没有看到我要用的端口被别的应用占用,最后…….折腾了很久,终于弄好了,分享以下: 错误信息 Several ports (8005, 8080, 8009) required by Tomcat v5.5 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). 缘由:端口8005, 8080, 8009被占用了。多是在打开Tomcat的状况下关闭了Eclipse,或是Eclipse非正常关闭,致使先前的Tomcat没有被关闭,端口占用。或是其余软件占用了tomcat的端口号。 解决方案: 一、打开任务管理器,找到java虚拟机相关的进程javaw.exe,将它结束掉[若是不行,走下一步] 二、遇到此状况,有人会告诉你重启电脑。这种方法当然可行,但成本很高,手头的工做和开的软件都要从新打开。其实,咱们只要杀掉所占用端口的进程便可: 1> win + R,输入cmd回车进入dos界面 2> 输入netstat -ano|findstr 8080 查看占用8080端口的进程 3>输入taskkill /pid 10148 /f 将显示的进程号(PID,个人是10148)结束掉 4> 重启tomcat 或:也能够根据dos查的在任务管理器中结束掉进程。若是任务管理器中没有显示PID列,须要设置,查看--->选择列--->勾选“PID(进程标识符)”。[若是还不行,走下一步] 三、修改Tomcat默认端口号(不建议) 修改Tomcat的配置文件。 例如:C:/tomcat5.5.25/conf/server.xml(这是个人Tomcat存放路径) 找到 <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 将port="8080"中的端口改成一个没有被占用的端口。 四、若是上述方法都不行,那么不要急,有多是未识别的Windows socket错误,尝试下面这个办法 1,以管理员身份打开命令提示符 2,输入 netsh winsock reset 3,重启电脑就ok了