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

通过JDTAPI以编程方式访问Java项目的build.properties,java,eclipse,eclipse-plugin,eclipse-jdt,eclipse-pde,Java,Eclipse,Eclipse Plugin,Eclipse Jdt,Eclipse Pde,有没有办法通过JDTAPI以编程方式访问Java项目的build.properties?类似于IJavaProject.getRawClasspath()的东西,只用于build.properties 如果我有一个IProject/IJavaProject,我可以像这样添加一行JDT API(通过JDT API调用): 之前: source.. = src/ output.. = bin/ 之后: source.. = src/,\ xtend-gen/ output..

有没有办法通过JDTAPI以编程方式访问Java项目的
build.properties
?类似于
IJavaProject.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);
您可以使用

IBuildEntry entry = buildModel.getBuild().getEntry(IBuildEntry.BIN_INCLUDES);
ibildentry
addToken
方法似乎是添加到条目的方法

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

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

这是一个PDE对象,而不是JDT对象,因此任何API都不会出现在JDT API中?