ClassNotFoundException這個錯誤,比較常見也好了解。
原因:就是找不到指定的class。
常見的場景就是:
1 調用class的forName方法時,找不到指定的類
2 ClassLoader 中的 findSystemClass() 方法時,找不到指定的類
3 ClassLoader 中的 loadClass() 方法時,找不到指定的類
java.lang.Class.java:
這個就比較奇葩了,查找其他的資料是說,通過了編譯,但是使用的時候,比如new的時候會出錯。
通過查找資料,搜集到如下的場景:
1 類依賴的class或者jar不存在
2 類檔案存在,但是存在不同的域中
3 大小寫問題,javac編譯的時候是無視大小的,很有可能你編譯出來的class檔案就與想要的不一樣!這個沒有做驗證。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnaugzYxcjY4Y2YhlTZjZDMkFGM1EzMhZWNjZGNjZTOiNDMfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpg)
http://www.cnblogs.com/xing901022/p/4185514.html