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

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

有没有办法通过 JDT API 以编程方式访问 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 接口(interface)描述。你可以使用以下方法得到这个:

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();
}

关于java - 通过 JDT API 以编程方式访问 Java 项目的 build.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42255047/

相关文章:

java - Java 中数据的快速范围/间隔查找

python - PyQt 4 : setupUi() unbound method error

java - 如何在 Eclipse 中向 GUI 贡献插件添加图标?

java - JDK、Eclipse 和路径变量

android - 尝试将 Android 应用程序移植到 BlackBerry 10 时出现验证错误

java - 安装插件后动态执行不起作用

java - 如何开发 IMAP 服务器接口(interface),有可用的库吗?

java - system.out.println 输出在 Oracle Java 类中的什么位置?

java - 取消选择 JTextfield 上的默认选择

java - 如何禁用 Eclipse (3.3.2) 警告 : Access to enclosing constructor. .. 由合成访问器方法模拟