`

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

阅读更多

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

看来是我最近工作比较紧张,没有时间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 下一个问题吧。

分享到:
评论

相关推荐

    Android插件框架Android-Plugin-Framework.zip

    尝试做过插件开发的同学应该都遇到,插件资源id和宿主程序资源id可能相同,导致获取的资源不是想要的资源。 此问题其实在android提供的编译器aapt中早已提供了支持。 12、需要关注PluginTest工程的ant....

    jocky 混肴编译rar包(ant和插件俩个版本)

    注2:如果在Eclipse中找不到Jocky插件,请删除 Eclipse安装目录/configuration/org.eclipse.update 文件夹 (Maybe an eclipse bug?)。 2.4 如何使用符号保留指令 除了在命令行用 -scramble 参数控制符号混淆级别外...

    Android应用程序开发教程PDF电子书完整版、Android开发学习教程

    • 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和 Eclipse 集成开发环境插件 应用程序 Android 会同一系列核心应用程序包一起发布,该应用程序包包括 email 客户端, SMS 短消息程序,日历, ...

    新版Android开发教程.rar

    � 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发 出 更具差异性的应用。 � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要...

    12306ngweb-master

    maven可以自动生成eclipse需要的配置信息,然后导入到你的eclipse中就可以了。 mvn -Dwtpversion=1.0 eclipse:eclipse 如果你的IDE未能找到M2_REPO你还需要做一些工作。 window >> preferences >> Java >> Build...

    java 混淆工具,不可逆 jocky 也许是最好的了

    注2:如果在Eclipse中找不到Jocky插件,请删除 Eclipse安装目录/configuration/org.eclipse.update 文件夹 (Maybe an eclipse bug?)。 2.4 如何使用符号保留指令 除了在命令行用 -scramble 参数控制符号混淆级别...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    5.4 使用Eclipse建立Web开发项目 5.5 Eclipse的常用快捷键 5.5.1 有关格式化的快捷键 5.5.2 有关调试的快捷键 5.5.3 有关重构的快捷键 5.6 小结 第六章 Log4j使用指南 6.1 Log4j介绍 6.1.1 Log4j历史 6.1.2 Log4j...

    AW2.5:1.7.10的高级战争端口

    远古战争2 为了开发此项目,您将需要: 将资源库下载到本地文件夹中。 找到此文件夹,运行gradle_update.bat 这应该下载所有依赖项并设置正确的.classpath 从下载的文件夹/存储库中将项目导入eclipse。 此时,应该...

    Activiti工作流笔记.chm

    4.3:安装流程设计器(eclipse插件) 6 4.4:对流程设计器的使用说明 10 4.5:准备Activiti5开发环境 11 5:核心API 12 5.1:ProcessEngine 13 5.2:RepositoryService 13 5.3:RuntimeService 14 5.4:TaskService 14...

Global site tag (gtag.js) - Google Analytics