2016-03-14 77 views
2

我正在開發Eclipse RCP應用程序。該應用程序應該在Windows和Linux上運行。Eclipse RCP:多個平臺的build.properties

此應用程序中有幾個插件包含原生工件。要在二進制版本(jar)中包含這些工件,應該在build.properties文件中指定它們。
目前,我在build.properties中包含Linux和Windows本機工件,然後在運行時選擇要加載哪一個。但是,我不喜歡這種方法,因爲它會在Linux和Windows版本中導致不必要的文件。

有沒有辦法指定目標平臺build.properties?因此,對於Linux構建它將包括Linux構件,對於Windows構建它將包括Windows構件?
或者,有沒有辦法維護build.properties的兩個副本 - 一個用於Linux版本,另一個用於Windows版本?

回答

2

通常的方式做到這一點是有分開的插件(或插件片段)爲每個平臺具有平臺濾波器制約當插件可用:

例如,在MANIFEST.MF

Eclipse-PlatformFilter: (& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64)) 

限制插件僅Mac OS X 64位Cocoa。

這是SWT所做的。有一個基地org.eclipse.swt插件,它不包含任何代碼,然後插入擴展該插件的多個插件片段(例如org.eclipse.swt.cocoa.macosx.x86_64)。每個片段包含一個平臺的SWT代碼,全部實現相同的類。

Eclipse僅爲當前平臺加載插件,因此您不必選擇使用什麼工作。