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

 

        org.apache.catalina.core.StandardServer await
        SEVERE: StandardServer.await: create[8005]:
        java.net.BindException: Cannot assign requested address

        java.net.BindException: Cannot assign requested address
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
        at java.net.ServerSocket.bind(ServerSocket.java:319)
        at java.net.ServerSocket.<init>(ServerSocket.java:185)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:662)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:614)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
org.apache.coyote.http11.Http11Protocol pause

出现这个问题,网上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

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

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

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

2.Cannot assign requested address的原因也有可能是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就会发现启动正常了。

你可能感兴趣的:(exception)