1

当我在 eclipse indigo 中运行 servlet Web 应用程序时,tomcat apache 服务器未启动,它将在控制台中打印以下错误。

    Nov 5, 2012 10:51:11 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.7.0\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.7.0/bin/client;C:/Program Files/Java/jre1.7.0/bin;C:/Program Files/Java/jre1.7.0/lib/i386;C:\oraclexe\app\oracle\product\11.2.0\server\bin;;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Common Files\Nero\Lib\;D:\eclipseIndigo;
Nov 5, 2012 10:51:11 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ServletDemo' did not find a matching property.
Nov 5, 2012 10:51:11 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:DemoPro' did not find a matching property.
Nov 5, 2012 10:51:12 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8085"]
Nov 5, 2012 10:51:12 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Nov 5, 2012 10:51:12 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2253 ms
Nov 5, 2012 10:51:12 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Nov 5, 2012 10:51:12 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.21
Nov 5, 2012 10:51:13 AM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:621)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
    ... 7 more
4

1 回答 1

1

您剪切/粘贴了很多错误消息...但我认为您跳过了重要的部分:)

看看这个链接:

1)他们正在使用 NetBeans(您正在使用 Eclipse——但这可能并不重要)

2)他们得到了与你上面显示的完全相同的回溯:

...
16 Νοε 2011 4:02:16 μμ org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
    ....

3)但他们也展示了回溯的重要部分:

Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig;
    at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1308)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1343)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896)

4) 这个例子的根本原因是使用的代码getSessionCookieConfig()是在 Java 6 中引入的,但他们无意中部署了一个旧的、Java6 之前的 servlet.jar 版本。解决方案是仔细检查他们的所有部署,确保部署了正确的 .jar。

'希望有帮助..

于 2012-11-05T05:41:44.467 回答