2017-02-15 105 views
0

有沒有辦法通過JDT API以編程方式訪問Java項目的build.properties?像IJavaProject.getRawClasspath()只是爲build.properties通過JDT API以編程方式訪問Java項目的build.properties

如果我有一個IProject/IJavaProject,我可以添加像這樣的JDT API線(通過JDT API調用):

前:

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

後:

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

這是一個PDE對象,而不是JDT所以任何API不會在JDT的API去。 –

+0

那麼有PDE電話這樣做? – ConveniencePatterns

回答

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

可以使用

IBuildEntry entry = buildModel.getBuild().getEntry(IBuildEntry.BIN_INCLUDES); 

IBuildEntryaddToken方法似乎是增加了進入的方式獲取「bin.includes」的條目。

爲了節省您的成本,您需要檢查模型是否是IEditableModel的實例,並調用IEditableModel.save方法。

if (buildModel instanceof IEditableModel) { 
    ((IEditableModel)buildModel).save(); 
} 
相關問題