2012-11-17 6 views
10

Ich versuche, den folgenden Code auszuführen:XUGGLE ERROR: Exception in thread "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) 
      ; 
    } 
} 

Aber es wird mir diesen Fehler geben:

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 

Ich habe SLF4J zu meinen referenzierten Bibliotheken hinzugefügt, habe aber keine Ahnung, warum das nicht funktioniert.

Laufen auf WIN 7, versuchte in Eclipse und Netbeans

Jede Idee?

+0

Mögliches Duplikat von [verursacht durch: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory] (https://stackoverflow.com/questions/36377461/caused-by-java-lang-classnotfundexception-org-slf4j-loggerfactory) – jediz

Antwort

33

Laden Sie SLF4J herunter und legen Sie die Datei slf4j-api-1.7.2.jar in Ihren Klassenpfad.

+3

Ich habe auch das gleiche Problem. Ich habe den SLF4J heruntergeladen, aber ich verstehe nicht, was Sie mit dem Klassenpfad meinen. Ich legte die Datei slf4j-api-1.7.2.jar in das Verzeichnis, in dem ich meine Klassendatei der Java-Datei habe, aber es hat immer noch das gleiche Problem. – shamila

3

Ursache Konnte die Verfügbarkeit von Abhängigkeitskonsolen oder Versionskonflikten sein.

Die folgenden Gläser Kombination funktionierte gut für mich:

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

5

Die folgende Kombination von Gläsern ist für mich arbeiten:

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

2

Sie könnten die Apache-log4j-2.7-sind Gläser hinzugefügt werden. Entfernen einfach all diese Gläser und halten nur

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

Herunterladen SLF4J und legen die slf4j-api-1.7.25.jar, slf4j-simple-1.7.25.jar Dateien in Anwendungsklassenpfad.

Dies wird dazu beitragen, diese Ausnahme zusammen mit der folgenden Ausnahme zu beheben SLF4J: Fehler beim Laden der Klasse "org.slf4j.impl.StaticLoggerBinder".

Verwandte Themen