Tomcat启动报错:StandardServer.await: create[8005] java.net.BindException: Cannot assign requested address

时间:2022-04-05 05:00:57

Tomcat启动报错:StandardServer.await: create[8005] java.net.BindException: Cannot assign requested address

出现这个问题,网上99%都说是端口问题,但是也有几个其他情况。

1.端口被占用

1).如果使用ecplipse和jbuilder里的Tomcat时,遇到像下面这样的问题.严重: StandardServer.await: create[8005]:
   java.net.BindException: Address already in use: JVM_Bind其实问题比较简单,1,独立运行的Tomcat没有关闭.自安装的tomcat程序设置开机自动运行,

或者 在之前运行过,先关闭ecplipse或jbuilder,在任务管理器中找到Tomcat的进程,将其kill掉,即可.有时候Tomcat非法关闭时,在进程中,仍然存在,仍然占用8080

端口.所 以只要将其进程杀掉.就可以解决;

查询DOS命令:

netstat -an

2).安装了其他的软件占用了Tomcat的端口.用可以netstat -ano 查看端口的工具查看一下,或者,直接改掉tomcat的默认端口.即可.

结束掉该进程后,Tomcat正常启动。或者到安装目录/conf/下找到server.xml,找到使用8005端口的语句,把端口号改成不在使用的(8006)。

2.localhost被路由到了别的机器

在命令窗口:

ping localhost 

发现确实被路由到了别的机器(一个202.x.x.x的IP),打开/etc/hosts发现没有指定127.0.0.1的解析地址。
这下就解决问题了,修改localhost让它重新指向本机地址 127.0.0.1 
127.0.0.1 localhost   重启Tomcat就会发现启动正常了。

在服务器领域,一台计算机配置多个IP地址是常见的。tomcat在启动时,会根据配置去获取所有的IP地址,并逐个绑定,当发现需要绑定的IP地址不存在时,会触发上述异常,导致无法正常启动。

3.工程中启动加载监听,找不到对应的wsdl或者没有端口权限

Tomcat启动报错:StandardServer.await: create[8005] java.net.BindException: Cannot assign requested address