1

同様の質問を閲覧しましたが、何も思い浮かびませんでした。Tomcat 7 をインストールしてから、PetClinic アプリを maven でコンパイルしました。Tomcatに正常にデプロイしました。その後、war ファイルをアンデプロイして再コンパイルし、デプロイしたところ、エラー FAIL - Application at context path /petclinic could not be started. がスローされます。以下は、ログ ファイルの最初の数行です。お知らせ下さい。ありがとう。

    Sep 23, 2012 2:21:10 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Sep 23, 2012 2:21:10 PM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org/apache/log4j/LogManager$PrivateManager
    at org.apache.log4j.LogManager.getLogger(LogManager.java:34)
    at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:209)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272)
at org.springframework.web.context.ContextCleanupListener.<clinit>(ContextCleanupListener.java:43)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:80)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4831)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5478)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1255)
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:714)
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:219)
4

1 に答える 1

0

問題はここにあります:

SEVERE: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org/apache/log4j/LogManager$PrivateManager
    at org.apache.log4j.LogManager.getLogger(LogManager.java:34)
    at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:209)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)

Q:log4j(私がお勧めするものです)またはslf4jを使用していますか?

提案:

1)関連する.jarファイル(つまり、 log4jとslf4j .jarsの両方を含めない理由)がWARのWEB-INF/libフォルダーにあることを確認します。

2)Tomcat環境にlog4jのバージョンが1つしかないことを確認します(.jarのバージョンが2つ競合している可能性があります)。

于 2012-09-23T21:09:08.227 に答える