当前位置: 首页 > 图文教程 > 服务器 > 服务器其他 > Tomcat 启动错误(8080端口被占用)处理方法

服务器其他
tomcat 6.0.20在一个机器上安装多个服务的方法
tomcat antiResourceLocking antiJARLocking 的作用和用法
Tomcat6.0与windows 2003 server 的IIS服务器集成
tomcat 几种连接池配置代码(包括tomcat5.0,tomcat5.5x,tomcat6.0)
Tomcat 5.5 数据库连接池配置
Tomcat服务器 安全设置
Tocat 下的日志配置参考代码
windows 权限之拒绝运行应用程序
32位操作系统认出超出4G内存的方法
Tomcat 启动错误(8080端口被占用)处理方法
php.ini 启用disable_functions提高安全
服务器硬件知识普及篇(需要配置服务器的朋友可以参考)
MSXML2.XMLHTTP 800401F3 错误的解决方法
刀片服务器五大误区解读
iisapp.vbs iis pid了解对应的网站或应用池
如何配置Windows Server2008 ADFS
中科院与浪潮共推高性能产业创新
2009年初IBM强势占领中国x86服务器市场
如何选择合适的服务器
教你在SMTP服务器中设置用户名和密码

服务器其他 中的 Tomcat 启动错误(8080端口被占用)处理方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-04   浏览: 377 ::
收藏到网摘: n/a

8080端口被占用的解决方法,其实这个方法,可以用于其它一些端口被占用的问题。

错误描述:
2009-7-12 15:40:35 org.apache.coyote.http11.Http11BaseProtocol start
严重: Error starting endpoint
java.net.BindException: Address already in use: JVM_Bind:8080
at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)
at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)
at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)
at org.apache.catalina.connector.Connector.start(Connector.java:1090)
at org.apache.catalina.core.StandardService.start(StandardService.java:457)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
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:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2009-7-12 15:40:35 org.apache.catalina.startup.Catalina start
严重: Catalina.start:
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.net.BindException: Address already in use: JVM_Bind:8080
at org.apache.catalina.connector.Connector.start(Connector.java:1097)
at org.apache.catalina.core.StandardService.start(StandardService.java:457)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
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:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2009-7-12 15:40:35 org.apache.catalina.startup.Catalina start
信息: Server startup in 9860 ms
关键信息:
java.net.BindException: Address already in use: JVM_Bind:8080
错误原因:
8080端口被其他的应用占用!
解决方案:
第一步,命令提示符号,执行命令:netstat –ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 656
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 656
可见,占用8080端口的进程的PID是656
第二步,命令提示符号,执行命令:tasklist
图像名 PID 会话名 会话# 内存使用
========================= ====== ================ ======== ============
TNSLSNR.exe 656 Console 0 8,992 K
可见,该占用8080端口的进程是TNSLSNR.exe
第三步,通过任务管理器,终止进程TNSLSNR.exe
第四步,重新启动tomcat,即可正常启动