XUGGLE ERROR:线程“main”中的异常java.lang.NoClassDefFoundError:org / slf4j / LoggerFactory

时间:2012-11-17 21:17:01

标签: java compiler-errors slf4j xuggle xuggler

我正在尝试执行以下代码:

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

有什么想法吗?

6 个答案:

答案 0 :(得分:34)

下载SLF4J并将slf4j-api-1.7.2.jar文件放到您的类路径上。

答案 1 :(得分:5)

以下罐子组合对我有用:

的log4j-1.2.16.jar
SLF4J-API-1.7.6.jar
SLF4J-简单1.7.6.jar
xuggle-xuggler-5.4.jar

答案 2 :(得分:3)

原因可能是依赖项jar或版本冲突不可用。

以下罐子组合对我来说很好:

xuggle-xuggler-5.4.jar
SLF4J-API-1.6.4.jar
的logback核-1.0.0.jar
的logback-经典1.0.0.jar

答案 3 :(得分:2)

您可能会添加apache-log4j-2.7-bin jar。 只需删除所有这些罐子,只保留

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

答案 4 :(得分:1)

下载SLF4J并将slf4j-api-1.7.25.jar,slf4j-simple-1.7.25.jar文件放入应用程序类路径。

这将有助于解决此异常以及以下异常SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。

答案 5 :(得分:0)

检查您的配置文件(.xml文件)。第一行必须以XML版本和编码的声明开头。

否则,除非包含了所有必需的.jar文件,否则您将获得相同的错误实用程序。