如果構建路徑正確並且所有類都可訪問(相同的包!),此異常的原因是什麼?我應該怎麼做才能找到罪魁禍首呢? 謝謝!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