`
nanjingjiangbiao_T
  • 浏览: 2597791 次
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

tomcat SEVERE: StandardServer.await: create[8005] : java.net.BindException

 
阅读更多
两种情况

1:

tomcat SEVERE: StandardServer.await: create[8005] :

java.net.BindException: Cannot assign requested address

一般是本地机器的hosts文件中localhost指向错了。(windows下C:/Windows/System32/drivers/etc)

SEVERE: StandardServer.await: create[8005]:
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:647)
at org.apache.catalina.startup.Catalina.start(Catalina.java:607)
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:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

从日志上看, tomcat是启动了, 但是不能绑定8005端口. 出现Cannot assign requested address的原因是

localhost被路由到了别的机器.

Java代码
  1. pinglocalhost

发现确实被理由到了别的机器.

修改localhost让它重新指向本机 127.0.0.1

Java代码
  1. vi/etc/hosts

删除掉里面关于localhost的转向, 然后增加一行

Java代码
  1. 127.0.0.1localhost

重新启动tomcat, 问题解决.

2:SEVERE: StandardServer.await: create[8005]:
java.net.BindException: Address already in use: JVM_Bind

说明端口被占用:

tomcat已经启动,eclipse或者jbuilder中已经启动了或者独立启动了没有退出或者tomcat在开机时是自启动项。

这时需要打开任务管理器查看一下有没有tomcat进程在运行中即可,有的话干掉即可重新启动。

其他软件占用了8080端口,可以如下面所示查看端口被那个进程占用了

C:/>netstat -aon|findstr "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 4576
TCP [::]:8080 [::]:0 LISTENING 4576

C:/>tasklist|findstr "4576"
java.exe 4576 Console 1 39,860 K

我这启动了tomcat所以显示被java.exe占用了。

这时可以选择停止占用的进程或者修改tomcat服务端口两种方式。

a、停止对应的进程:在任务管理器中工具栏中-》查看-》选择列中选中PID,在其中找到对应的PID为“4576”的干掉即可

b、修改tomcat的启动端口:Tomcat服务器的conf目录下的server.xml来更改


<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />

修改其port=“8080”为其他没被占用的端口即可

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics