在eclipse项目的build_path中迭代类

时间:2015-07-02 17:38:05

标签: java eclipse classloader

是否可以访问eclipse java项目的build_path中的所有类?

我正在开发eclipse插件,它应该提供新的弹出菜单项,右键单击导航器视图中的项目,
我希望能够执行一些涉及反射的逻辑,因为我需要能够迭代该项目的构建路径中的所有类/ jar。

那么,再次,我如何获得build_path类?

1 个答案:

答案 0 :(得分:0)

这是一个相当广泛的问题,需要很多代码,因此我只介绍一些基础知识。

假设您拥有该项目的choices = [literal_eval(line.split(" = ")[-1]) for line in f] from random import choice print(choice(choices[0])) ,您可以使用所需的IProject对象:

IJavaProject

然后,您可以使用以下命令获取构建路径中对象的类路径条目:

IProject project = ....

IJavaProject javaProject = JavaCore.create(project);

这将为您提供一系列条目,其中包含已解析的任何变量。

您必须查看此列表中的每个条目。该条目可以是几种不同的类型之一。

IClasspathEntry [] entries = javaProject.getResolvedClasspath(false);

该条目是一个jar或文件夹库,可能位于工作区(相对路径)或工作区外部(绝对路径)。

entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY

该条目是另一个项目。您还必须解决该项目的路径。