确定 IFolder 是否为 Java 输出文件夹

Determining if an IFolder is a Java output folder

在我的 Eclipse 插件中,我在 Java 项目中有一个 IFolder,我想确定该文件夹是否是该项目的输出文件夹。我已阅读 this question and am aware of the method IJavaProject.getOutputLocation()。但是,该方法仅 returns default 项目的输出位置。用户可以重新配置构建路径以使用另一个位置作为输出文件夹。另外,可能有多个源文件夹,每个文件夹都有自己配置的输出位置。

鉴于所有这些,我如何才能有效地确定 IFolder 是否实际上是一个输出文件夹?是否有一些 API 我可以用来获取所有输出位置的列表?

您可以自己遍历各个 Java Build Path 条目并检查它们是否用于源类型以及它们是否指定输出位置:http://help.eclipse.org/mars/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/IJavaProject.html#getRawClasspath-- .