【问题标题】:Programmatically accessing build.properties of a Java project through JDT API通过 JDT API 以编程方式访问 Java 项目的 build.properties
【发布时间】:2017-07-04 10:45:48
【问题描述】:

有没有办法通过 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,因此任何 API 都不会在 JDT API 中。
  • 那么有这样的 PDE 调用吗?

标签: java eclipse eclipse-plugin eclipse-jdt eclipse-pde


【解决方案1】:

这是一个 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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    相关资源
    最近更新 更多