通过 JDT API 以编程方式访问 Java 项目的 build.properties

Programmatically accessing build.properties of a Java project through JDT API

有没有办法通过 JDT API 以编程方式访问 Java 项目的 build.propertiesIJavaProject.getRawClasspath() 之类的东西只是为了 build.properties?

如果我有 IProject/IJavaProject,我可以像这样添加一行 JDT API(通过 JDT API 调用):

之前:

source.. = src/
output.. = bin/

之后:

source.. = src/,\
           xtend-gen/
output.. = bin/

这是一个 PDE 对象而不是 JDT,因此您需要使用 PDE API。关于 PDE API 的文档非常少。

build.properties由org.eclipse.pde.core.build.IBuildModel接口描述。你得到这个使用:

IProject project = ... project ...

IPluginModelBase base = PluginRegistry.findModel(project);

IBuildModel buildModel = PluginRegistry.createBuildModel(base);

您可以使用

获取'bin.includes'的条目
IBuildEntry entry = buildModel.getBuild().getEntry(IBuildEntry.BIN_INCLUDES);

IBuildEntryaddToken方法好像是添加到词条的方法

要保存您需要检查模型是 IEditableModel 的实例并调用 IEditableModel.save 方法。

if (buildModel instanceof IEditableModel) {
  ((IEditableModel)buildModel).save();
}