【问题标题】:Eclipse RCP: build.properties for multiple platformsEclipse RCP:用于多个平台的 build.properties
【发布时间】:2016-06-29 14:19:41
【问题描述】:

我正在开发一个 Eclipse RCP 应用程序。该应用程序应在 Windows 和 Linux 上运行。

此应用程序中有几个插件包含本机工件。要将这些工件包含在二进制构建 (jar) 中,应在 build.properties 文件中指定它们。
目前,我在 build.properties 中包含 Linux 和 Windows 原生工件,然后在运行时选择要加载的工件。但是,我不喜欢这种方法,因为它会导致 Linux 和 Windows 版本中出现不必要的文件。

有没有办法在 build.properties 中指定目标平台?那么对于 Linux 构建,它将包括 Linux 工件,而对于 Windows 构建,它将包括 Windows 工件?
或者,有没有办法维护 build.properties 的两个副本 - 一个用于 Linux 构建,另一个用于 Windows 构建?

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp rcp multiplatform


    【解决方案1】:

    执行此操作的常用方法是为每个平台使用单独的插件(或插件片段),并使用平台过滤器限制插件何时可用:

    例如,在 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 仅加载当前平台的插件,因此您无需进行任何工作来选择使用什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多