现在的位置: 首页 > 综合 > 正文

tomcat启动异常:Address already in use: JVM_Bind

2013年09月06日 ⁄ 综合 ⁄ 共 6120字 ⁄ 字号 评论关闭

悲催啊大哭,水平太差了哭,一个小问题纠结了好久。。。。总结下解决过程吧,还是多亏了度娘和好多前人的帖子哎。。。。

2011-8-3 19:22:00 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performanc
e in production environments was not found on the java.library.path: G:\Program
Files\Apache Software Foundation\Tomcat 6.0\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WIN
DOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
;D:\oracle\product\10.1.0\db_1\bin;D:\oracle\product\10.1.0\db_1\jre\1.4.2\bin\c
lient;D:\oracle\product\10.1.0\db_1\jre\1.4.2\bin;E:\jdk1.6_update10\bin;
2011-8-3 19:22:00 org.apache.coyote.http11.Http11Protocol init
严重: Error initializing endpoint
java.net.BindException: Address already in use: JVM_Bind<null>:8080
        at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:509)
        at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)

        at org.apache.catalina.connector.Connector.initialize(Connector.java:105
8)
        at org.apache.catalina.core.StandardService.initialize(StandardService.j
ava:677)
        at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
a:795)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:535)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:555)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
2011-8-3 19:22:00 org.apache.catalina.startup.Catalina load
严重: Catalina.start
LifecycleException:  Protocol handler initialization failed: java.net.BindExcept
ion: Address already in use: JVM_Bind<null>:8080
        at org.apache.catalina.connector.Connector.initialize(Connector.java:106
0)
        at org.apache.catalina.core.StandardService.initialize(StandardService.j
ava:677)
        at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
a:795)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:535)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:555)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
2011-8-3 19:22:00 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 709 ms
2011-8-3 19:22:00 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2011-8-3 19:22:00 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.20
2011-8-3 19:22:01 org.apache.coyote.http11.Http11Protocol start
严重: Error starting endpoint
java.net.BindException: Address already in use: JVM_Bind<null>:8080
        at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:509)
        at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:526)
        at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:203
)
        at org.apache.catalina.connector.Connector.start(Connector.java:1131)
        at org.apache.catalina.core.StandardService.start(StandardService.java:5
31)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.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)
2011-8-3 19:22:01 org.apache.catalina.startup.Catalina start
严重: Catalina.start:
LifecycleException:  service.getName(): "Catalina";  Protocol handler start fail
ed: java.net.BindException: Address already in use: JVM_Bind<null>:8080
        at org.apache.catalina.connector.Connector.start(Connector.java:1138)
        at org.apache.catalina.core.StandardService.start(StandardService.java:5
31)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710
)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.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)
2011-8-3 19:22:01 org.apache.catalina.startup.Catalina start
信息: Server startup in 1115 ms

 

 

启动tomcat出现上面错误,Address already in use: JVM_Bind,一查,是8080端口号被占用了。

首先,查到底是哪个败家的进程占了8080。犹豫哀家水平比较菜,不知道怎么找到这个败家的进程。一顿百度之后找到解决方法。打开cmd,输入netstat -ano,发现PID944号占用了,在cmd中输入tasklist,看到原来是TNSLSNR.exe。这是个神马?原来它是oracle10g里的。。。。。汗啊。。。。。

然后,改吧,把这个败家进程的端口号改成8081吧:

用oracle提供的包:
-- 把HTTP/WEBDAV端口从8080改到8081
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081))
/
-- 把FTP端口从2100改到2111
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',2111))
/
SQL> commit;
SQL> exec dbms_xdb.cfg_refresh;
-- 检查修改是否已经成功
SQL> select dbms_xdb.cfg_get from dual;

哦了。。。。这样就终于改好了。。。。。

中间还出现了小插曲,就是我的cmd竟然不能用了,哎,当初装jdk改path时候把原来的给删了,加上吧:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\oracle\product\10.1.0\db_1\bin;D:\oracle\product\10.1.0\db_1\jre\1.4.2\bin\client;D:\oracle\product\10.1.0\db_1\jre\1.4.2\bin;E:\jdk1.6_update10\bin;

终于弄好了,心情舒畅~微笑

抱歉!评论已关闭.