【问题标题】:XUGGLE ERROR: Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactoryXUGGLE 错误:线程“主”java.lang.NoClassDefFoundError 中的异常:org/slf4j/LoggerFactory
【发布时间】:2012-11-06 06:10:04
【问题描述】:

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

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中试过

有什么想法吗?

【问题讨论】:

标签: java compiler-errors slf4j xuggle xuggler


【解决方案1】:

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

【讨论】:

  • 我也有同样的问题。我下载了 SLF4J,但我不明白你所说的类路径是什么意思。我将 slf4j-api-1.7.2.jar 文件放在我有 java 文件的类文件的目录中,但它仍然有同样的问题。
【解决方案2】:

以下 jar 组合对我有用:

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

【讨论】:

    【解决方案3】:

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

    以下 jars 组合对我来说效果很好:

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

    【讨论】:

      【解决方案4】:

      您可能会添加 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
      

      【讨论】:

        【解决方案5】:

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

        这将有助于解决此异常以及以下异常 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"。

        【讨论】:

          【解决方案6】:

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

          否则,除非您包含所有必需的 .jar 文件,否则您将得到相同的错误工具。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-07-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-11-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多