我已经开始学习Servlets,所以我从这里下载了Apachetomcat7.xzip文件(core-> zip)。我将其解压缩到我的目录(D:),然后将JAVA_HOME系统变量设置为C:\Program Files\Java\jdk1.6.0值(我的计算机运行在windows 7 Home basic上)。
我已经通过startup.bat文件在bin文件夹中启动了服务器。当我尝试访问localhost:8080时,浏览器上总是写着unable to connect。因此,我将端口号更改为9999 in server.xml并重新启动它。它再次表示无法在我的浏览器中连接。当我启动服务器时,它在命令shell上显示了以下内容。有人能帮我解决这个问题并让我的服务器正常工作吗?
通过观察命令shell上的以下内容,我只能找到这一行,它似乎给出了一些问题的指示:Failed to initialize component [Standard Server[8005]].我还是不知道这和那些无法连接的人有什么关系。
Feb 24, 2013 4:58:02 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performanc
e in production environments was not found on the java.library.path: C:\Program
Files\Java\jdk1.6.0\bin;.;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\
Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\
Program Files\Java\jdk1.6.0\bin
Feb 24, 2013 4:58:02 PM org.apache.catalina.startup.Catalina load
SEVERE: Catalina.start
org.apache.catalina.LifecycleException: Failed to initialize component [Standard
Server[8005]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.startup.Catalina.load(Catalina.java:633)
at org.apache.catalina.startup.Catalina.load(Catalina.java:658)
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:585)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to initialize componen
t [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.j
ava:814)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 8 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize componen
t [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService
.java:544)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 10 more
Caused by: java.lang.NoSuchMethodError: java.util.concurrent.ThreadPoolExecutor.
allowCoreThreadTimeOut(Z)V
at org.apache.catalina.core.ContainerBase.initInternal(ContainerBase.jav
a:1083)
at org.apache.catalina.core.StandardEngine.initInternal(StandardEngine.j
ava:283)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 12 more
Feb 24, 2013 4:58:02 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 532 ms
Feb 24, 2013 4:58:02 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-9999"]
Feb 24, 2013 4:58:02 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Feb 24, 2013 4:58:02 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Feb 24, 2013 4:58:03 PM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start:
org.apache.catalina.LifecycleException: Failed to stop component [StandardServer
[8005]]
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:236)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141)
at org.apache.catalina.startup.Catalina.start(Catalina.java:684)
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:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Caused by: org.apache.catalina.LifecycleException: An invalid Lifecycle transiti
on was attempted ([before_stop]) for component [org.apache.catalina.deploy.Namin
gResources@1807ca8] in state [INITIALIZED]
at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBas
e.java:409)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:219)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.j
ava:756)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
... 8 more
Feb 24, 2013 4:58:03 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 11 ms发布于 2013-02-25 09:59:24
我注意到堆栈跟踪的一件事是:
Caused by: java.lang.NoSuchMethodError: java.util.concurrent.ThreadPoolExecutor.allowCoreThreadTimeOut(Z)V从ThreadPoolExecutor的Javadoc来看,allowCoreThreatTimeOut(布尔值)方法似乎是在Java6中引入的,它在早期版本中没有出现。如果在过时的JVM上运行针对6+版本的java程序,您会发现上面的错误。
当您第一次开始使用tomcat时,应该有这样的行:
Using CATALINA_BASE: /home/nick/tools/apache-tomcat-6.0.35
Using CATALINA_HOME: /home/nick/tools/apache-tomcat-6.0.35
Using CATALINA_TMPDIR: /home/nick/tools/apache-tomcat-6.0.35/temp
Using JRE_HOME: /usr
Using CLASSPATH: /home/nick/tools/apache-tomcat-6.0.35/bin/bootstrap.jar查看JRE_HOME的目录,看看您得到了什么。虽然命令行可以看到Java 6的安装,但是您可能在Tomcat试图使用的某个地方安装了Java 5。安装多个java版本可能会导致混淆。
https://stackoverflow.com/questions/15054397
复制相似问题