|
两种情况 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代码
ping localhost
发现确实被理由到了别的机器.
修改localhost让它重新指向本机 127.0.0.1
Java代码
vi /etc/hosts
删除掉里面关于localhost的转向, 然后增加一行
Java代码
127.0.0.1 localhost
重新启动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”为其他没被占用的端口即可 |
|
|