如何在Eclipse插件中确定Java源文件的绝对文件路径?

时间:2012-06-01 15:19:52

标签: eclipse eclipse-plugin

在我的自定义Eclipse插件中,我将Java类的完全限定类名称作为String,并且想知道它的实际文件路径。实际上,我想知道它所在的源文件夹的名称。

该类可以来自Workspace中的任何Java项目。源文件夹名称是任意的。

我使用Eclipse 3.6。

谢谢!

2 个答案:

答案 0 :(得分:2)

您需要使用JDT API stuff来访问Java类的IResource。从那里,您可以使用Resource API来获取包含文件夹以及您需要的任何其他内容。

答案 1 :(得分:2)

您必须使用搜索引擎API。请参阅org.eclipse.jdt.core.search.SearchEngine

您可以看到可以调用各种静态函数,每个函数都有自己的选项。您需要创建一个合适的org.eclipse.jdt.core.search.SearchPattern,然后将其与范围(工作区)和请求者(收集所有结果的内容)一起传递给搜索引擎。

通常情况下,您会收到一堆东西,比如IType,它们是用于访问Java模型中的类型的公共API。您可以调用IType.getResource().getLocation()来获取任何类型的文件系统位置。 getResource方法可能返回null,因此您需要检查它。