2016-04-24 6 views
0

Я пытаюсь загрузить видео с помощью OpenIMAJ. Это делает отображение видео, но всегда показывает мне эту ошибку:SLF4J: путь класса содержит несколько привязок SLF4J; exclude slf4j

SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/C:/Users/MaryLu/.m2/repository/ch/qos/logback/logback-classic/1.0.0/logback-classic-1.0.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/C:/Users/MaryLu/.m2/repository/org/slf4j/slf4j-log4j12/1.7.2/slf4j-log4j12-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [ch.qos.logback.classic.selector.DefaultContextSelector] 
16/04/24 20:39:57 INFO xuggle.XuggleVideo: URL file:/F:/workspaceMaven/keyboardcat.flv could not be opened by ffmpeg. Trying to open a stream to the URL instead. 
20:39:57.984 [main] DEBUG com.xuggle.xuggler - Could not open output url: file:/F:/workspaceMaven/keyboardcat.flv (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:436) 

Я уже проверил подобные вопросы, но мне не удалось решить эту проблему. Если я понял, мне нужно исключить slf4j где-то в моем POM.xml, но я действительно не знаю, в какой зависимости.

ответ

1

Сообщения slf4j просто сообщают вам, что ваша конфигурация slf4j сломана, поэтому она возвращается к конфигурации по умолчанию.

Настоящая проблема заключается в том, что ваш URL-адрес не указывает на локальный файл, как вы ожидаете, потому что он сломан, поэтому код, пытающийся его использовать, не работает. Возможной причиной нарушения может быть, если у вас уже открыт файл, поэтому Windows не позволит его перезаписывать.

3

Уже ответ указан в файле журнала. Следуйте инструкциям.

http://www.slf4j.org/codes.html#multiple_bindings

Как Wouter заявил

Run mvn dependency:tree и поиск которых зависимость есть реализации SLF4J вы не хотите, то исключить их с исключением зависимости, как:

<dependency> 
    <groupId>org.someexternallib</groupId> 
    <artifactId>someexternallibartifact</artifactId> 
    <version>...</version> 

    <exclusions> 
     <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

Моя проблема в том, что я не могу найти правильную зависимость или im Написание ее неправильно, потому что она не работает – MaryLu

0
  <exclusion> 
      <artifactId>logback-classic</artifactId> 
      <groupId>ch.qos.logback</groupId> 
      </exclusion> 

      <exclusion> 
       <artifactId>slf4j-simple</artifactId> 
       <groupId>org.slf4j</groupId> 
      </exclusion> 

Чтобы найти зависимости, которые используют выше артефакт, узнайте по "$ mvn dependency: tree" после того, как вы обнаружите, что вне этого исключены исключения из соответствующих зависимостей. Это должно исправить это, я бы сказал, обратите внимание на конкретные зависимости.

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