看到这个报错我的第一反应就是端口被占用,用netstat -ant命令查看发现8080端口没有被占用,也可以看到 tomcat的进程已经存在,但是不能对外提供服务。
1.独立运行的tomcat.exe没有关闭,关闭tomcat图标并结束掉tomcat进程。
2.安装了其他的软件占用了8080端口,tomcat安装默认的端口是8080,解决方案一,更改tomcat的端口,用editplus或者写字板打开conf\service.xml:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
更改8080为其他端口号
或者 打开cmd命令提示符,输入 netstat -ano 找到8080端口占用的pid号 输入taskkill /pid xxxx xxxx为PID号。关闭这个占用端口即可
于是在网上搜索关键字Cannot assign requested address,查看很多都是因为端口被占用导致,但也有不是的,其中有一篇是说出现Cannot assign requested address的原因是localhost被路由到了别的机器。在命令窗口ping localhost 发现确实被路由到了别的机器(一个202.x.x.x的IP),打开/etc/hosts发现没有指定127.0.0.1的解析地址。这下就解决问题了,修改localhost让它重新指向本机地址 127.0.0.1 # vim /etc/hosts 然后增加一行127.0.0.1 localhost 重新启动tomcat正常。