簡體   English   中英

NoClassDefFoundError異常

[英]NoClassDefFoundError exception

即使我將外部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;" 所以請幫我解決問題。 下面是我的代碼:

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);
        }
    }            
}

細節是

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;”。 但是例外仍然存在

我怎么解決這個問題?

Java已找到com.github.sarxos.webcam.Webcam因此您已成功將該JAR添加到類路徑中。

現在發生的是, Webcam正在嘗試使用log4j類,而該類不在類路徑中。

這很常見-套餐A需要套餐B; 套餐B需要套餐C; 而且您可以花一些時間查找JAR來實現依賴關系鏈。

在這種情況下,您將需要兩個log4j jars-log4j-api和一個log4j實現jars之一。 有關詳細信息,請參見log4j網頁。

如果尋找依賴罐變得愚蠢,請考慮使用Maven或Ivy為您處理依賴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM