【发布时间】:2014-04-13 18:25:58
【问题描述】:
我有一个基于 Eclipse 的 SWT 应用程序,而不是使用 Maven。
我的应用程序面向多个操作系统(CentOS、Windows 和 Mac)。
唯一与操作系统无关的 jar 文件是 SWT 库,它特定于每种操作系统类型,更不用说处理器类型(x86 和/或 x64)了。
我看到了这个other issue,但它针对的是 Maven,我没有使用 Maven。
按照概述的过程并包括整个 SWT 下载的 ZIP 文件,我已将“org.eclipse.swt”添加到我的项目中。这在 Package Explorer 中指定了第二个项目。
早些时候,当我只包含 swt.jar 时,它会更容易一些,因为我只需要删除 jar,包含新的 jar,然后重新构建,但这很痛苦。现在我用的是整个SWT ZIP,过程有点繁琐,不专业。
步骤是什么,以便当我指定“右键单击 > Java > 可运行 JAR 文件”来创建单个可执行 jar 时,我会得到 3 个(或多个)不同的 jar 文件,每个操作系统一个? Visual Studio 做得很好,只是我不知道如何在 Eclipse 中做到这一点。
更新: 为了回答评论,我想添加 JFace 支持,因为我想使用需要 JFace 的 TableViewer 功能。 Eclipse 在第一部分有this 页面概述了如何在SWT 中添加。除了在最后添加源代码之外,这些步骤都有效,但这是题外话。
我按照 64 位 Windows 的步骤进行操作,但我必须支持 CENTOS,而 Mac 目前会是“不错的”。
独立于 swt.jar 和 org.eclipse.swt,我想要一种干净的方式(想想带有 .Net 的 Visual Studio)为我的应用程序构建一个可运行/可执行的 jar 文件,每个支持的操作系统类型一个。我的想法是我指定构建(设置后的任何菜单键序列),并且每个目标操作系统都有一个可执行的 jar 文件。
【问题讨论】:
-
您能解释一下“现在我使用整个 SWT ZIP” 的意思吗?这包括什么?为什么只有 .jar 还不够?
-
我将解释新方法,但我的问题与此无关。我厌倦了每次构建时都删除和添加 SWT.jar,并想知道 Eclipse 是否提供了一种更简洁的方式来进行多平台开发。我会定期推出不同的版本,精简的方法会很好。
-
我知道这不是您想要的,但您是否考虑过创建一个可在所有平台上运行的单个 jar? AFAIK,除非您使用 Eclipse-RCP,否则没有内置方法可以为多个平台导出多个 jar。
-
我对此持开放态度,但不知道这是可能的。我还在学习 Eclipse 和 Java。那怎么做?我来自 Windows 背景,因此不可能创建针对每个可能的操作系统的单个可执行文件 (appname.exe),所以我假设 Java 也是如此,尤其是 SWT 依赖于操作系统和平台(x64 或 x86)。
标签: java eclipse jar swt multiplatform