ClassNotFoundException
2015-08-25 15:33
309 查看
<span style="font-family: 'Comic Sans MS', 微软雅黑; background-color: rgb(255, 255, 255);">ClassNotFoundException这个错误,比较常见也好理解。</span>
原因:就是找不到指定的class。
常见的场景就是:
1 调用class的forName方法时,找不到指定的类
2 ClassLoader 中的 findSystemClass() 方法时,找不到指定的类
3 ClassLoader 中的 loadClass() 方法时,找不到指定的类
开发者平时会有这样一种使用方法,类似JDBC加载驱动
package test321; public class test { public static void main(String[] args) { try { Class.forName("test321.hello"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
此时,程序会到当前的目录中寻找指定位置test321.hello这个class。
并且这个类也是可以正常执行的。
但是,我们修改一下加载的类名,这样显然是找不到指定的类的。
package test321; public class test { public static void main(String[] args) { try { Class.forName("test321.hello1"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }此时就会报错!
报错! java.lang.ClassNotFoundException: test321.hello1 at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:190) at test321.test.main(test.java:6)
原因就是找不到指定的string对应的class文件
相关文章推荐
- DetachedCriteria详细使用
- 小米黎万强在Facebook讲了什么
- 配置NFS服务器
- oc中set get方法一定是对象方法
- 我的openwrt学习笔记(十):开发小贴士_vmware虚拟机窗口大小设置
- 对list进行多字段排序
- Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
- o(1)时间删除链表的节点
- 使用SN.exe对.Net生成的程序集进行签名
- 《HTTP权威指南》阅读笔记(六)
- Zend Studio 中创建简单的phpfile模板和xhtml类phpfile模板
- winform导出csv
- Ajax - 异步处理(点击变成文本框并修改)
- String和包装类Integer\Double\Long\Float\Character 都是final类型
- java语言的反射机制
- directshow capture 一个很好用的文件
- Android Studio 获取数字签名信息(SHA1)
- js 多语言
- JAVA接口的一些理解描述
- iOS利用通知(NSNotification)进行传值