java - 无法启动apache tomcat

标签 java apache tomcat7

我已经开始学习 Servlet,所以我从 here 下载了 apache tomcat 7.x zip 文件(core--> zip)。我将其解压缩到我的目录 (D:),然后我刚刚将 JAVA_HOME 系统变量设置为 C:\Program Files\Java\jdk1.6.0 值(我的计算机在 windows 7 Home basic 上运行)。

我已经通过 bin 文件夹中的 startup.bat 文件启动了服务器。当我尝试访问 localhost:8080 时,浏览器上总是显示 unable to connect 。所以我将server.xml中的端口号更改为9999并重新启动。它再次显示无法在我的浏览器中连接。当我启动服务器时,它在命令 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

最佳答案

我注意到堆栈跟踪的一件事是这样的:

Caused by: java.lang.NoSuchMethodError: java.util.concurrent.ThreadPoolExecutor.allowCoreThreadTimeOut(Z)V

查看ThreadPoolExecutor的Javadoc,似乎在Java 6中引入了方法allowCoreThreatTimeOut(boolean)。它在早期版本中不存在。如果您在过时的 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 目录,看看会得到什么。也许您在 Tomcat 尝试使用的某个位置安装了 Java 5,尽管命令行显示的是 Java 6 安装。安装多个 java 版本可能会导致困惑。

关于java - 无法启动apache tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15054397/

相关文章:

java - 在java中将PDF读取为文件并使 "PDF"可编辑

wordpress - 在运行 Ubuntu 16.04 的 AWS EC2 实例上,永久链接在 WordPress 中出现 404 错误

java - 无法从 Eclipse 运行 Tomcat 7

maven - 在运行配置停止之前未连接Intellij IDEA Tomcat应用程序服务器,原因为: Unable to ping server at localhost:1099

jakarta-ee - java.lang.NoClassDefFoundError : javax/servlet/http/HttpServlet

java - 为什么 javac -source 1.5 允许在接口(interface)方法上使用 @Override?

java - 正确定义java动态类加载

java - Textview Resize text 当屏幕比其他屏幕大时

Apache:一个域 - 具有不同证书的多个文件夹

java - 速度模板元数据