1

Eclipseインディゴでサーブレット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 に答える