黑马程序员技术交流社区

标题: (悬赏黑马币)有关类加载器的委托机制加载问题 [打印本页]

作者: ⋛⋌⋚JEEP    时间: 2014-9-21 17:41
标题: (悬赏黑马币)有关类加载器的委托机制加载问题
本帖最后由 ⋛⋌⋚JEEP 于 2014-9-22 12:39 编辑
  1. public class ClassLoaderTest {
  2. public static void main(String[] args) throws Exception {
  3. System.out.println(ClassLoaderTest.class.getClassLoader().getClass().getName());}
复制代码

上面代码输出结果是:sun.misc.Launcher$AppClassLoader
验证一下类加载器的委托机制,将该类打成jar包放在jre/lin/ext目录下,为何打印结果还是原来的类加载器,而不是上级类加载器的名字?为何ExtClassLoader不加载,难道它看不见我放进去的jar包吗,好奇怪?

classloadertest.jpg (145.77 KB, 下载次数: 15)

classloadertest.jpg

作者: 霜林醉zhx    时间: 2014-9-22 02:03
JDK1.7.0_51这个包是你自己从网上下的?你看下你这个程序所用的包是不是这个包,还是eclipse系统自带的包,我记得系统自带包名是com.sun.java.jdk什么 的…………
作者: ⋛⋌⋚JEEP    时间: 2014-9-22 12:37
霜林醉zhx 发表于 2014-9-22 02:03
JDK1.7.0_51这个包是你自己从网上下的?你看下你这个程序所用的包是不是这个包,还是eclipse系统自带的包, ...

你说对了,是JDK的问题。MyEclipse自带的JDK是这个com.sun.java.jdk.win32.x86_1.6.0.013,而我一直无视这个问题,以为自己用的是jdk1.7.0_51。把类的jar包放在了自己下载的jre/lin/ext目录下,根本不是MyEclipse的默认的jre/lin/ext的目录;自然不会有任何作用,加了也是白加。我自己配置了一下,成功了,非常感谢!

jsL.jpg (147.98 KB, 下载次数: 17)

jsL.jpg

作者: King_L    时间: 2014-9-22 14:05
悬赏的话,你可以在悬赏的版块发问题哦~
作者: Beka    时间: 2014-9-23 01:08
没看懂 ,在哪里下的有区别吗?
作者: ⋛⋌⋚JEEP    时间: 2014-9-23 09:47
Beka 发表于 2014-9-23 01:08
没看懂 ,在哪里下的有区别吗?

如果你电脑只有一个JDK版本的话就不会出问题,如果要更新版本的话,很可能就遇到我上面的问题了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2