首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoClassDefFoundError异常

NoClassDefFoundError异常
EN

Stack Overflow用户
提问于 2014-03-15 23:44:07
回答 1查看 450关注 0票数 1

我在使用外部jar文件时遇到了麻烦,即使我正确地将它放在了类路径中。

我的外部jar文件在D:驱动器中,我的类路径是"C:\Program Files\Java \jdk1.7.0_51\bin; D:\webcam-capture-0.3.10-RC6.jar; C:\Program Files\Java\jdk1.7.0_51\lib;",所以请帮助我解决这个问题。下面是我的代码:

代码语言:javascript
复制
import com.github.sarxos.webcam.Webcam;
import javax.swing.JOptionPane;

public class DetectWebcamExample  {

    public static void main(String[] args) {
        try {
            Webcam webcam = Webcam.getDefault();
            if (webcam != null) {
                    System.out.println("Webcam: " + webcam.getName());
            } else {
                    System.out.println("No webcam detected");
            }

        } catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }            
}

实验的细节是

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at com.github.sarxos.webcam.Webcam.<clinit>(Webcam.java:40)
    at test.Test.main(Test.java:20)
        Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 2 more
Java Result: 1

我用"C:\Program Files\Java\jdk1.7.0_51\bin;“和类路径”D:\webcam-capture-0.3.10-RC6.jar;“修改了路径。但例外情况仍然存在。

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2014-03-18 00:12:18

Java已经找到了com.github.sarxos.webcam.Webcam,所以您已经成功地将该JAR添加到了类路径中。

现在发生的情况是,Webcam正在尝试使用log4j类,而该类不在类路径中。

这是很常见的-包A需要包B;包B需要包C;你可以花一些时间寻找JAR来实现依赖链。

在这种情况下,您将需要两个log4j jars log4j-api和一个log4j实现jars。有关详细信息,请参阅log4j网页。

如果寻找依赖jars开始变得愚蠢,请考虑使用Maven或Ivy为您处理依赖项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22425948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档