我无法理解运行jar文件时出现此错误的原因:
线程“main”中的异常java.lang.NoClassDefFoundError: net / sf / mzmine / main / MZ mineModulesList at net.sf.mzmine.main.MZmineCore.main(MZmineCore.java:100)引起: java.lang.ClassNotFoundException:net.sf.mzmine.main.MZmineModulesList
它表示找不到MZmineModulesList
类,但它存在于此路径中。也许当我在jar文件中编写类时,我做错了什么?
我想补充一点,这是在我用更新版本替换MZmineModuleList文件后出现的。我做了什么:我从Jar中提取文件并添加我的新类,而不是旧的MZmineModuleList类我用新的替换它,其中添加了几行代码。也许当我使用java.util.jar的方法写入jar文件时,我错过了什么?
答案 0 :(得分:1)
如果类的静态代码块中存在错误,则可能发生NoClassDefFoundError
。
答案 1 :(得分:0)
这堂课可能很神奇。如果可以从多个类加载器加载类,则也可能抛出此错误。
答案 2 :(得分:0)
如果您使用IDE或其他东西为您构建一切,请检查以确保它包含jar中的所有类。我已经看到了Eclipse IDE导出jar,但没有包含所有的类文件。如果是这种情况,只需将类文件放在jar中即可。