如果构建路径正确并且所有类都可访问(相同的包!),此异常的原因是什么?我应该怎么做才能找到罪魁祸首呢? 谢谢!ClassNotFoundException的原因
回答
构建路径是正确的,所有的课程都可以访问
你应该没有得到错误。您可以得到该错误的唯一原因是该类是由子类加载器加载的,并且位于类路径中,但是父类加载器试图访问它(假设代理模型是父代优先)。在这种情况下,该类由JVM加载,但程序无法访问它。
想一想,有一些更复杂的场景可能导致类加载异常,这是基于实例化和使用类加载器的方式。 Commons logging受到了这些,我已经在接收端比我想承认更多的时间。有一个excellent article,如果您想要看一看,则突出显示这些场景。
我会检查所有类的构建目录。我怀疑你会发现你的班级缺失。
编辑:由于@Hot舔注意到,你从一个破碎类得到的错误是NoClassDefFoundError的
public static void main(String... ignored) {
for (int i = 0; i < 3; i++) {
try {
new BrokenClass();
} catch (Throwable t) {
System.out.println(t);
}
}
}
static class BrokenClass {
static {
if (true)
throw new AssertionError();
}
}
印刷品上的Java 7
java.lang.AssertionError
java.lang.NoClassDefFoundError: Could not initialize class Main$BrokenClass
java.lang.NoClassDefFoundError: Could not initialize class Main$BrokenClass
这通常是NoClassDefFoundError。 – 2013-04-11 16:29:19
@HotLicks感谢您的更正。 – 2013-04-11 16:33:12
这是一篇很好的文章,可能会帮助你。它列出了13件你可以考虑寻找的东西来找到这个罪魁祸首。
- 1. ClassNotFoundException的原因为检查异常
- 2. 在Android中导致此ClassNotFoundException的原因是什么?
- 3. Android应用FC因为ClassNotFoundException
- 4. IllegalStateException的原因
- 5. SIGPIPE的原因
- 6. socket.error的原因
- 7. ArrayIndexOutOfBoundsException的原因
- 8. TransactionTooLargeException的原因?
- 9. canSetSessionPreset:AVCaptureSessionPreset1920x1080原因,iOS4的
- 10. 原因在C++
- 11. NSInvalidArgumentException原因keyboardWasHidden?
- 12. 不明原因
- 13. 原因在heightForImageCellAtIndexPath
- 14. 重温原因
- 15. InvalidFirebaseData',原因:'(setValue :)
- 16. VectorDrawable原因NumberFormatException
- 17. 原因直接
- 18. 原因为CL_INVALID_WORK_GROUP_SIZE
- 19. 原因ES6
- 20. NSRangeException原因
- 21. deleteRowsAtIndexPaths原因SIGABRT
- 22. 原因:java.net.ConnectException
- 23. jQuery的不张贴因某种原因
- 24. [E2007] [EWSMA]确定/得到NDR的原因/原因
- 25. 与SendMailAsync的TaskCanceledException的原因?
- 26. 原因一个#include
- 27. 原因viewDidLoad运行
- 28. NSInvalidArgumentException原因: - [CLLocation distanceFromLocation:]
- 29. XSLT错误原因
- 30. NSInvalidArgumentException',原因:' - [__ NSArrayM isValid]
检查堆栈跟踪将是一个好的开始 – 2013-04-11 16:26:20
这个异常的唯一原因是该类不存在于你的类路径中..仔细检查你的类路径 – sanbhat 2013-04-11 16:26:28
这是因为路径不正确,所有的类都不是无障碍。 – 2013-04-11 16:29:54