欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Eclipse插件开发中如何获得classpath下面的资源

程序员文章站 2022-06-05 21:02:10
...

在我的脑海里面有好几个话题需要记录一下,而正因为好多,我现在已经把这些话题记录在我的本子上。

看来是我最近工作比较紧张,没有时间blog了。呵呵,今天先记录一下这个话题:

Eclipse插件开发中如何获得classpath下面的资源

 

以前我写了一篇blog:Java中获取classpath路径下的资源文件 ,将的事情是我在直接使用ClassLoader的getResourceXXX(),方法获取classpath下资源的时候除了问题,我现在已经忘记我是否是使用了getSystemClassLoader() 获取默认的classloader,总之,在虚拟机启动的时候使用到了几个classloader(ms是3个,有兴趣的朋友可以google一下,很多),为了方便,并确保我们使用到正确的ClassLoader,我们可以这样写:

 

this.getClass.getResourceAsStream(String name); 

他是对this.getClass.getDefaultClassLoader的一个代理。

 

但是今天要写一个自用小工具,eclipse插件,有趣的问题发生了。下面是我要比较的两行代码:

 

this.getClass.getResourceAsStream(String name); //1

this.getClass.getDefaultClassLoader.getResourceAsStream(String name); //2

 

当我写下第一行代码的时候无效,而第二行代码却可以通过。我知道有个问题:

eclipse为了防止冲突,对每个plugin使用不同的类装载器进行加载。但不是说第一行代码的实现是对第二行的一个代理,他怎么可能不行呢?

 

有趣的问题,不过还好,我的程序可以抱起来了。en 下一个问题吧。