在安装Toamcat时,发现了以下的错误提示
17-Dec-2017 00:08:02.397 严重 [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhos t:8005]: java.net.BindException: Address already in use: JVM_Bind at java.net.DualStackPlainSocketImpl.bind0(Native Method) at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190) at java.net.ServerSocket.bind(ServerSocket.java:375) at java.net.ServerSocket.<init>(ServerSocket.java:237) at org.apache.catalina.core.StandardServer.await(StandardServer.java:440) at org.apache.catalina.startup.Catalina.await(Catalina.java:758) at org.apache.catalina.startup.Catalina.start(Catalina.java:704) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
原因分析
从上面的描述中就可以看到,是因为端口8005被占用了。那么就是解决问题了
目标:在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用.
操作:操作分为两步:(1)查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令Netstat –ano|findstr “<端口号>”
,如图,图中第一行的端口号为135,所对应的PID为1004。
接下来就是看对应的端口号了
直接用命令查找,tasklist|findstr <PID号>
查找对应的进程名
如果存在这种找不到的情况,使用任务管理器吧。
杀死对应的冲突进程
然后开启,就成功啦!!!
附上参考
tomcat启动不成功(点击startup.bat闪退)的解决办法
Tomcat(8005,8080,8009)端口占用问题常见原因及解决方法
Address already in use: JVM_Bind(端口冲突)
netstat -ano 查看机器端口占用情况
Windows netstat 查看端口、进程占用
解决tomcat端口被占用以及杀死进程
Tomcat的8005、8009,8080端口解释