-
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bonfire.blogbus.com/logs/28036616.html
刚才通过MyEclipse5.5启动Tomcat,结果错误弹出对话框,大意是配置错误,查了下原因。启动Application Server得用JDK(a full JDK installation),而不是JRE。
JDK Vertural Machine must specify a full JDK installation.
Specifying a JRE will result in an startup exception.可是我装了的就是JDK6,而不是JRE6。
解决办法:
在MyEclipse - 窗口 - 首选项 - MyEclipse - Application Server - Tomcat - Tomcat5.x - JDK 里添加Tomcat JDK,在右边选 Add...,弹出的对话框里的JRE主目录里定位到安装的JDK的目录(JRE是它的子文件夹),点确定。
至此,问题本来已经彻底解决,不想出了一个意外。
在Servers视图里,选中Tomcat 5.x,Run Server。不幸,控制台抛出大量异常。
2008-8-22 23:52:57 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\java\java6\bin;D:\java\apache-tomcat-5.5.26\bin
2008-8-22 23:52:57 org.apache.coyote.http11.Http11BaseProtocol init
严重: Error initializing 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.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:139)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1017)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
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.load(Bootstrap.java:267)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2008-8-22 23:52:57 org.apache.catalina.startup.Catalina load
严重: Catalina.start
LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use: JVM_Bind:8080
at org.apache.catalina.connector.Connector.initialize(Connector.java:1019)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
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.load(Bootstrap.java:267)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2008-8-22 23:52:57 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 578 ms
2008-8-22 23:52:57 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-8-22 23:52:57 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.26
2008-8-22 23:52:57 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-8-22 23:52:58 org.apache.catalina.core.ApplicationContext log
信息: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
2008-8-22 23:52:58 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-8-22 23:52:58 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-8-22 23:52:58 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-8-22 23:52:58 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-8-22 23:52:58 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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008-8-22 23:52:58 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:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2008-8-22 23:52:58 org.apache.catalina.startup.Catalina start
信息: Server startup in 1141 ms第一个异常java.net.BindException: Address already in use: JVM_Bind:8080,猜测应该是端口已经被占用了吧。于是搜了一下,下载一个叫TCPView的小软件。不出所料,Tomcat的默认端口8080果然被占了——那个进程竟然是QQMusic.exe。我晕哦,QQMusic.exe居然占了6个端口。8080端口的状态为LISTENING。今天第一次用QQMusic,竟然就给人添乱!
关掉QQMusic.exe,重启Tomcat,运行成功,没有抛出异常,输出日志为:
2008-8-22 23:59:39 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\java\java6\bin;D:\java\apache-tomcat-5.5.26\bin
2008-8-22 23:59:39 org.apache.coyote.http11.Http11BaseProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2008-8-22 23:59:39 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 562 ms
2008-8-22 23:59:40 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2008-8-22 23:59:40 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/5.5.26
2008-8-22 23:59:40 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2008-8-22 23:59:40 org.apache.catalina.core.ApplicationContext log
信息: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
2008-8-22 23:59:40 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-8-22 23:59:40 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-8-22 23:59:40 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2008-8-22 23:59:40 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2008-8-22 23:59:40 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2008-8-22 23:59:41 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2008-8-22 23:59:41 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/15 config=null
2008-8-22 23:59:41 org.apache.catalina.storeconfig.StoreLoader load
信息: Find registry server-registry.xml at classpath resource
2008-8-22 23:59:41 org.apache.catalina.startup.Catalina start
信息: Server startup in 1906 msTomcat是正常运行了,不过让人郁闷的是,QQMusic.exe进程依然运行,而且占了两个端口,过了几分钟剩一个了,状态是FIN_WAIT1,占用端口为3654,远程地址192.24.57.59.broad.qz.fj.dynamic.163data.com.cn:12146。再过了三四分钟,QQMusic.exe终于全部终止。顺便看了一下,TM.exe也有7个进程。
不过,那条最长的信息里,竟然有CNN,Yahoo以及Jakarta的主页,有点小意外。
引用地址:








