ОШИБКА XUGGLE: исключение в потоке main java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

Я пытаюсь выполнить следующий код:

import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaWriter;
import com.xuggle.mediatool.ToolFactory;
public class vidcon {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        IMediaReader reader = ToolFactory.makeReader("test.m4v");
        IMediaWriter writer = ToolFactory.makeWriter("out.flv");

        reader.addListener(writer);
        while(reader.readPacket() == null)
            ;
    }
}

Но это дает мне эту ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at com.xuggle.ferry.JNILibrary.<clinit>(JNILibrary.java:42)
    at com.xuggle.ferry.FerryJNI.<clinit>(FerryJNI.java:14)
    at com.xuggle.ferry.Ferry.<clinit>(Ferry.java:25)
    at com.xuggle.xuggler.XugglerJNI.<clinit>(XugglerJNI.java:19)
    at com.xuggle.xuggler.IContainer.<clinit>(IContainer.java:1622)
    at com.xuggle.mediatool.MediaReader.<init>(MediaReader.java:137)
    at com.xuggle.mediatool.ToolFactory.makeReader(ToolFactory.java:77)
    at vidcon.main(vidcon.java:11)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more

Я добавил SLF4J в библиотеки, на которые ссылаюсь, но понятия не имею, почему это не работает.

Работает на WIN 7, пробовал в eclipse и netbeans

Любая идея?


person 1321941    schedule 17.11.2012    source источник
comment
Возможный дубликат Вызвано: java.lang.ClassNotFoundException: org.slf4j. LoggerFactory   -  person jediz    schedule 24.05.2017


Ответы (6)


Загрузите SLF4J и поместите файл slf4j-api-1.7.2.jar в путь к вашему классу.

person Robert Pes    schedule 20.11.2012
comment
У меня тоже такая же проблема. Я скачал SLF4J, но не могу понять, что вы подразумеваете под путем к классу. Я поместил файл slf4j-api-1.7.2.jar в каталог, где у меня есть файл класса java-файла, но у него все еще есть та же проблема. - person shamila; 16.07.2016

У меня работает следующая комбинация банок:

log4j-1.2.16.jar
slf4j-api-1.7.6.jar
slf4j-simple-1.7.6.jar
xuggle-xuggler-5.4.jar

person Arun    schedule 23.02.2014

Причина Может быть недоступность jar-файлов зависимостей или конфликты версий.

Следующая комбинация банок отлично сработала для меня:

xuggle-xuggler-5.4.jar
slf4j-api-1.6.4.jar
logback-core-1.0.0.jar
logback-classic-1.0.0.jar

person AVA    schedule 05.04.2013

вам могут быть добавлены банки apache-log4j-2.7-bin. Просто удалите все эти банки и оставьте только

log4j-1.2.16.jar
slf4j-api-1.7.6.jar
slf4j-simple-1.7.6.jar
xuggle-xuggler-5.4.jar
person priya    schedule 20.12.2016

Загрузите SLF4J и поместите файлы slf4j-api-1.7.25.jar, slf4j-simple-1.7.25.jar в путь класса приложения.

Это поможет устранить это исключение вместе со следующим исключением SLF4J: не удалось загрузить класс «org.slf4j.impl.StaticLoggerBinder».

person Sarang Patil    schedule 24.05.2017

Проверьте файл конфигурации (файл .xml). Первая строка должна начинаться с объявления версии и кодировки XML.

В противном случае вы получите ту же ошибку, если не включили все необходимые файлы .jar.

person DHEERAJ KUMAR GUPTA    schedule 10.08.2018