![](/img/trans.png)
[英]How to solve a NoClassDefFoundError caused by 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.