在eclipseIndigo中运行Web应用程序时出错

时间:2012-11-05 05:29:58

标签: java

当我在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

1 个答案:

答案 0 :(得分: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。

'希望有所帮助..