import sun.net.spi.nameservice.dns.CA;public class Main { public static void main(String[] args) {
System.out.println(Main.class.getClassLoader().getClass().getName());
CA a = new CA();
System.out.println(a.getClass().getClassLoader().getClass().getName());
}
}
}我把CA类放在了sun.net.spi.nameservice.dns(就是Java\jre7\lib\ext下的dnsns.jar)下,我的意思是AppClassLoader找不到CA,就委托extClassloader,所以应该能加载,但是却报错。
另:如果extClassloader加载成功的话,System.out.println(a.getClass().getClassLoader().getClass().getName())是输出extClassloader还是AppClassLoader,因为extClassloader是定义加载,AppClassLoader是启动类CA的加载器。
System.out.println(Main.class.getClassLoader().getClass().getName());
CA a = new CA();
System.out.println(a.getClass().getClassLoader().getClass().getName());
}
}
}我把CA类放在了sun.net.spi.nameservice.dns(就是Java\jre7\lib\ext下的dnsns.jar)下,我的意思是AppClassLoader找不到CA,就委托extClassloader,所以应该能加载,但是却报错。
另:如果extClassloader加载成功的话,System.out.println(a.getClass().getClassLoader().getClass().getName())是输出extClassloader还是AppClassLoader,因为extClassloader是定义加载,AppClassLoader是启动类CA的加载器。
解决方案 »
- 基础问题,如何构建函数
- 面试题:关于list集合的问题
- 在Java中用SQL语句删除access数据库的记录,为什么用access打开时记录还在?在线等!
- 急 java
- 在不知表名,不知列名,只知道数据片段的情况查询数据!怎么查啊?
- 用java代码实现native2ascii反向转换的方法寻求.
- 有谁知道Integer.parseInt()和Integer.valueOf()有什么区别吗?
- 求解:如何使java应用只启动一次,如何停掉java应用程序?
- 编译通过了,可就是运行不出来,请大家帮帮小妹,这两个程序究竟怎么回事啊:(
- 一点不会Java想学Jave应该先看什么入门书比较好!
- 关于二维数组的一个疑问
- jdbc 数据库连接错误 sql server2005
sun.misc.Launcher$AppClassLoader
Exception in thread "main" java.lang.NoClassDefFoundError: CA
at Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: CA
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
把CA类放在Java\jre7\lib\ext\classes下(如果没有classes这个目录,新建个),别的就不多说了,运行下什么你都知道了。