基于JDT的JAR源代码搜索 - 编程入门网
/* 跳过此 jar 的搜索 */
}
基于JDT的JAR源代码搜索(4)时间:2010-11-20 IBM 魏强 王芹华 邵兵步骤 3. 获得 JarPackageFragmentRoot 中的 IClassFile 列表 如果想获得 .class 文 件的源码,就需要获得 .class 文件对应的 IClassFile 对象,下面的程序展示 了如何从 JarPackageFragmentRoot 对象开始遍历,获得其包含的 PackageFragment 对象,又从 PackageFragment 对象中获得 IClassFile 对象 列表。 清单 4. 获取所有类文件的代码
需要注意的是,JDT 中 Jar 文件 中的包(package)对应的类为 JarPackageFragment,但是该类为 default 类 型,无法引用,可以先将它转换为它的父类 PackageFragment,然后进行处理。 步骤 4. 获得 IClassFile 源代码并比较 得到 IClassFile 对象 后,需要获得其源码 .IClassFile 提供了非常方便的接口: getSource。应用 该方法可以获得源码字符串。如果该方法的输出值为 null,说明这个类还未绑 定源代码。这种情况下可以通过双击 .class 文件,点击 Change Attached Source 按钮进行源代码的绑定。下面的程序展示了如何根据用户输入的正则表 达式进行比较搜索。 清单 5. 获取类文件源码并比较
基于JDT的JAR源代码搜索(5)时间:2010-11-20 IBM 魏强 王芹华 邵兵步骤 5. 获得 JarPackageFragmentRoot 中的非 JAVA 资源 Jar 文件中 JAVA 资源主要 是 .java 文件和 .class 文件。Jar 文件中非 JAVA 的资源,对应的类为 IJarEntryResource,比如 Jar 中的 .properties 文件、META-INF 文件夹、 META-INF 文件夹下的 MANIFEST.MF 等,都属于非 JAVA 资源,这些非 JAVA 资 源可以存放于 JarPackageFragmentRoot 下,也可以存放于 JarPackageFragment 下。下面的程序展示如何遍历获得 JarPackageFragmentRoot 下的所有非 JAVA 资源。 清单 6. 获得非类文 件的资源
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |