![](/img/trans.png)
[英]java.lang.ClassNotFoundException when loading a class from a jar file
[英]Throwing java.lang.ClassNotFoundException even if the class exists in jar file
我無法理解為什么在運行jar文件時會發生此錯誤:
線程“主”中的異常java.lang.NoClassDefFoundError:net / sf.mzmine.main.MZmineCore.main(MZmineCore.java:100)上的net / sf / mzmine / main / MZ mineModulesList造成原因:java.lang.ClassNotFoundException: net.sf.mzmine.main.MZmineModulesList
它說未找到MZmineModulesList
類,但它存在於此路徑中。 在將類寫入jar文件時,也許做錯了什么?
我想補充一點,這是在我用更新的版本替換MZmineModuleList文件之后出現的。 我做了什么:我從Jar中提取了文件並添加了新類,並且還用舊的MZmineModuleList類代替了新的類,在其中添加了幾行代碼。 也許當我使用java.util.jar的方法寫入jar文件時,我錯過了一些東西嗎?
如果類的靜態代碼塊中有錯誤,則可能會發生NoClassDefFoundError
。
上課可能有點矛盾。 如果可以從多個類加載器中加載一個類,則也可能引發此錯誤。
如果您使用的是IDE或其他方式為您構建所有內容,請檢查並確保它包含jar中的所有類。 我已經看到了不包含所有類文件的Eclipse IDE導出jar。 如果是這種情況,只需將類文件放入jar中即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.