基于JDT的JAR源代码搜索 - 编程入门网
述解决方案中的主要技术问题包括:
ResourcesPlugin.getWorkspace().getRoot().getProjects() 可以获得 工作空间下的所有项目,类型为 IProject。那么如何将 IProject 对象转换为 JAVA 项目对应的 IJavaProject 对象?(文中步骤 1 解决该问题) 获 得 IJavaProject 对象后,如何获得它所依赖的 Jar 文件列表,也就是 JarPackageFragmentRoot 对象列表?(文中步骤 2 解决该问题) 获得 JarPackageFragmentRoot 对象后,如何获得它下面的包(JarPackageFragment ),又如何获得包下的 class 文件(IClassFile)和非 class 文本文件 (JarFileEntry)?(文中步骤 3、5 解决该问题) 如何获得 IClassFile 的源代码,又如何获得 JarFileEntry 的文本内容?(文中步骤 4 、6 解决该问题) 下面将对各个步骤逐一地进行分析,并且一一解决上 面提到的问题。 基于JDT的JAR源代码搜索(3)时间:2010-11-20 IBM 魏强 王芹华 邵兵步骤 1. 转换 IProject 为 IJavaProject Eclipse 工作空间下,可能存在许多类型的项目,有 JAVA 项目也有非 JAVA 项目,为了获得项目依赖的 Jar 文件,该项目必须是 Java 类型的项目。以下代码通过调用 JDT 提供的接口,获得 JAVA 项目列表。 清单 1. 获得工作空间下的所有 JAVA 项目
步骤 2. 获得依赖的 JarPackageFragmentRoot 列表 获得 IJavaProject 对象后,需要得到它 所依赖的 Jar 文件列表。在 JDT 中,Jar 文件对应的类为 JarPackageFragmentRoot,下面一段程序用于获得 Jar 文件列表。 清单 2. 获得 JAVA 项目依赖的 Jar 文件列表的代码
大多数时候程序员想要搜索的范围并不包含 JRE 库的源代码,因此为了提高搜索效率,需要屏蔽 JRE 库源代码的搜索,下面一 段程序展示如何实现这个需求。 清单 3. 屏蔽 JRE 库的源码搜索
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |