为SWT应用程序构建多平台可执行文件(Eclipse)

我有一个基于Eclipse的SWT应用程序,而不是使用Maven。

我的应用程序针对多个操作系统(CentOS,Windows和Mac)。

唯一不与操作系统无关的jar文件是SWT库,它特定于每种操作系统类型,更不用说处理器类型(x86和/或x64)。

我看到了另一个问题 ,但是目标是Maven而我没有使用Maven。

我通过遵循概述的程序并包括整个SWT下载的ZIP文件将“org.eclipse.swt”添加到我的项目中。 这指定了Package Explorer中的第二个项目。

早些时候,当我刚刚包括swt.jar时,它有点容易,因为我只需要删除jar,包含新的jar,然后重建,但那真是太痛苦了。 现在我使用整个SWT ZIP,这个过程有点乏味而且不专业。

有什么步骤,所以当我指定“右键单击> Java> Runnable JAR文件”来创建一个可执行jar时,我得到3个(或多个)不同的jar文件,每个操作系统一个? Visual Studio做得很好,只是我不知道如何在Eclipse中这样做。

更新:要回答评论,我想添加JFace支持,因为我想使用TableViewerfunction,这需要JFace。 Eclipse在第一部分中概述了如何在SWT中添加的概述。 除了在最后添加源代码之外,这些步骤都有效,但这不是主题。

我按照64位Windows的步骤进行操作,但是我必须支持CENTOS,Mac目前会“很好”。

独立于swt.jar经文org.eclipse.swt,我想要一个干净的方式(想想带有.Net的Visual Studio)为我的应用程序构建一个可运行/可执行的jar文件,每个支持的操作系统类型一个。 我的想法是我指定构建(在我设置之后的任何菜单键序列)并且每个目标OS获得一个可执行jar文件。

是的,尽管我说你可以为所有平台创建一个.jar文件,但我无法让它正常工作。

但是 ,我设法启动并运行了一个示例项目,只需使用Ant就可以为每个平台创建一个单独的.jar文件。

您可以在此处下载整个项目。

构建脚本如下所示:

                                                                                                                   

该项目本身并不花哨,只是一个JFace Dialog ,表明JFace也可以。


注意

要在Windows计算机上进行编译,您必须更改一行:

  

将其更改为:

  

要么

  

基本上,这一行必须代表您的系统,即您正在编译的系统。