2016-10-11 2 views
1

Я открываю этот пост после того, как я не мог найти решение в должности: Failed to load class "org.slf4j.impl.StaticLoggerBinder" errorНе удалось загрузить класс «org.slf4j.impl.StaticLoggerBinder» ошибка

Я также открыл проект Maven в IntelliJ и получил следующее сообщение об ошибке после выбора опции «передислоцировать» в tomcat7 плагин:

SLF4J: Не удалось загрузить класс «org.slf4j.impl.StaticLoggerBinder». SLF4J: Реализация регистратора бездействия (NOP) SLF4J: См. http://www.slf4j.org/codes.html#StaticLoggerBinder для дальнейших .

В прилагаемой ссылке рекомендуется перейти в Файл-> Структура проекта -> Артефакты и проверить наличие ошибок. Это то, что я вижу: enter image description here

У меня также есть следующие зависимости в pom.xml файла:

 <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>1.7.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.5.6</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-simple</artifactId> 
      <version>1.7.21</version> 
     </dependency> 

Можете ли вы помочь мне найти ошибку?

+0

, пожалуйста, покажите, что вы видите в «Структура проекта», когда вы нажимаете «Библиотеки». Добавьте его к своему вопросу. – JimHawkins

ответ

2

Может быть, есть два вопрос:

  1. версия несовпадение ваших зависимости
  2. проблема при развертывании приложения

Для воспроизведения вашей ошибки я создал эту мини программу:

package de.so; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public class DemoSlf4j 
{ 
    private static Logger logger = LoggerFactory.getLogger(DemoSlf4j.class); 

    public static void main(String[] args) 
    { 
     logger.error("Start ..."); 
    } 
} 

с только эти зависимости (так же, как вы использовали) в pom.xml:

<dependencies> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.5.6</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.7.21</version> 
    </dependency> 
</dependencies> 

Я получил эти сообщения:

SLF4J: путь Класс содержит несколько привязок SLF4J. SLF4J: найдено привязка в [jar: файл:/D: /Maven-Repo/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar!/Org/slf4j/impl/StaticLoggerBinder .class] SLF4J: Найдено привязка в [jar: file:/D: /Maven-Repo/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: См. http://www.slf4j.org/codes.html#multiple_bindings для описания . SLF4J: Фактическое связывание имеет тип [org.slf4j.impl.Log4jLoggerFactory] SLF4J: запрошенная версия 1.5.6 вашей привязкой slf4j несовместима с [1.6, 1.7] SLF4J: см. http://www.slf4j.org/codes.html#version_mismatch для получения дополнительной информации. log4j: WARN Для регистратора не найдено ни одного приложения (de.so.DemoSlf4j). log4j: WARN Пожалуйста, правильно инициализируйте систему log4j.

Когда я использую эти зависимости, все в порядке. Посмотрите на версии!

<dependencies> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.21</version> <!-- or use LATEST --> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.7.21</version> <!-- or use LATEST --> 
    </dependency> 
</dependencies> 

Если вы используете org.slf4j:slf4j-log4j12:1.7.21 вместо slf4j-simple (что более вероятно, для производственных целей), вы получите:

log4j: не WARN Нет appenders может быть найден для регистратора (de.so .DemoSlf4j). log4j: WARN Пожалуйста, правильно инициализируйте систему log4j. log4j: WARN См. http://logging.apache.org/log4j/1.2/faq.html#noconfig для получения дополнительной информации.

Так что это:

  • взгляда в ваших зависимости проекта, если есть и другие артефакты, которые имеют каскадные зависимости в рамки лесозаготовок (log4j, slf4f, ...).
  • проверьте, правильно ли установлены ваши зависимости в вашем Tomcat. (.../WEB-INF/Lib)
  • проверка версия
0

может быть, вы получите трещины банки в вашем проекте, проверить его в отладках модели подробно, я имел эту проблему тоже, когда я строить с отладкой model, я вижу предупреждение /repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar, поэтому удалите его и снова создайте. проблема решена.

Смежные вопросы