• 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就会发现启动正常了。

  • 相关阅读:
    计算机编程基础
    css3 压缩及验证工具
    BFC
    【原创】bootstrap框架的学习 第五课
    曼珠沙华
    仓央嘉措
    waiting for spring......
    一天
    21-chttp连接池该取多大
    守护线程会不会执行finally?默认情况new thread怎么样确定守护状态?
  • 原文地址:https://www.cnblogs.com/heshan664754022/p/3807672.html
Copyright © 2020-2023  润新知