您的位置:首页 > 运维架构 > Tomcat

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

2011-08-03 19:47 507 查看
悲催啊

,水平太差了

,一个小问题纠结了好久。。。。总结下解决过程吧,还是多亏了度娘和好多前人的帖子哎。。。。

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_g
4000
et(),

'/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;

终于弄好了,心情舒畅~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐