簡體   English   中英

NoClassDefFoundError:…由ClassNotFoundException引起

[英]NoClassDefFoundError: … Caused by ClassNotFoundException

我有另一組人(目前不可用)編寫的一些簡單代碼,這些代碼引用了我得到的一些jar文件。 當我編譯代碼時,一切都構建良好,但是一旦代碼嘗試創建在一個jar文件中定義的類的實例,我就會得到java.lang.NoClassDefFoundError。 我針對此問題進行了大量研究,所有結果都表明在運行時我的類路徑存在問題。 但是,當我在運行時打印類路徑時,我看到了所有的jar文件,它們似乎具有正確的路徑。 運行時類路徑似乎也與編譯時類路徑匹配,因此這似乎不是問題。

我應該提到的一件事:我正在使用JDK 1.8,而我相信這些jar文件是使用JDK 1.7創建的。 我看到的其他解決方案都沒有提到這一點,但是是否有可能是版本兼容性問題? 我無法通過批准的方法獲得JDK 1.7,但是如果我可以令人信服地證明這可以解決我的問題,則可以使較舊的版本獲得批准以進行安裝。

如果不可能是版本問題,那我應該從哪里去呢? 我發現的每個答案似乎都不適用於我的情況,但是如果您能指出一個我可能錯過或提出的解決方案,我將非常感激。 NetBeans特定的答案很有幫助,但不是必需的。 謝謝!

編輯:作為參考,這里是我用來在運行時打印類路徑的代碼:

    ClassLoader cl = ClassLoader.getSystemClassLoader();

    URL[] urls = ((URLClassLoader)cl).getURLs();

    for(URL url: urls){
        System.out.println(url.getFile());
    }

請確保您的編譯時間和運行時代碼使用了相同版本的jar文件。如果存在jar版本沖突,則可能會遇到上述問題

暫無
暫無

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

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