簡體   English   中英

即使該類存在於jar文件中,也會引發java.lang.ClassNotFoundException

[英]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.

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