Spring MVC инициализация вызывает исключение Log4J - PullRequest
0 голосов
/ 26 марта 2012

В моем веб-приложении я использую Spring MVC в качестве уровня контроллера.Однако использование тегов, предоставленных контекстом MVC:

<mvn:annotation-driven />
<mvc:resources />

вызывает исключение log4j:

<Mar 26, 2012 1:49:50 PM EDT> <Warning> <HTTP> <BEA-101162> <User defined listener         
org.springframework.web.context.ContextLoaderListener failed:
java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation.
java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation
at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:165)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.slf4j.impl.Log4jLoggerAdapter.log(Log4jLoggerAdapter.java:597)
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.error(SLF4JLocationAwareLog.java:225)
Truncated. see log file for complete stacktrace

(LoggingEvent.java:165) в org.apache.log4j.Category.forcedLog (Category.java:391) в org.apache.log4j.Category.log (Category.java:856) в org.slf4j.impl.Log4jLoggerAdapter.log (Log4jLoggerAdapter.java:597) в org.apache.commons.logging.impl.SLF4JLocationAwareLog.error (SLF4JLocationAwareLog.java:225) усечен.см. файл журнала для полной трассировки стека

Базовые вещи:

  1. log4j-1.2.16.jar определен в POM Maven и находится в библиотеке приложения.

  2. Поскольку это сервер weblogic, в файле weblogic.xml есть следующее, чтобы попытаться предотвратить конфликты:

    <wls:prefer-application-packages>
        <wls:package-name>org.apache.log4j.*</wls:package-name>
    </wls:prefer-application-packages>
    
  3. (Обновление). Я вручную исключил ведение журнала общего доступа в POM maven для приложения.

  4. (Обновление) У меня уже были jar-файлы slf4j в POM Maven (удаление jcl-over-slf4jбез эффекта):

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.5.8</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.5.8</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.8</version>
        <scope>runtime</scope>
    </dependency>
    

По сути, мне нужно исключить базовые каталоги css и js как web как один каталог в WEB-INF /, содержащий некоторые файлы jspf, которые я делаюНЕ хочу писать контроллер для (определения раскрывающихся меню, используемые jquery superfish).

Любая помощь?

1 Ответ

2 голосов
/ 27 марта 2012

Добавление разъема slf4j-log4 к POM:

      <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
...