SWT 部署为 EXE

标签 swt

由于业务需求,我最近开始学习 SWT(准确地说是在第 4 课上),之前我已经使用 Swing 进行了 2 年的开发。

我们将 Swing 应用程序部署为具有资源依赖关系的 jar。在 SWT 中,可部署的形式和等价物是什么?

我有问题,但由于我的培训是在线进行的,因此我正在使用课件,除了 StackOverflow 外,没有任何讲师:

  • SWT 应用程序可以作为独立的 EXE 部署吗?人们谈论的“Eclipse EXE”是怎么回事?这是否意味着所有 SWT 输出都将是基于 Eclipse 的 EXE?或者它们可以是完全独立的 EXE 吗?
  • 如果 1 的答案是肯定的,那么编译器如何生成原生的 win32 可执行代码?这是我非常困惑的一个领域。通常,一个可部署的 jar 被馈送到读取 list 并执行其内容的 VM,但是一个 EXE 作为输出?幕后的真相是什么?
  • 如何管理外部资源包?在部署时?
  • 国际化支持?

  • 谢谢。

    最佳答案

    部署 SWT 应用程序与部署 Swing 应用程序完全一样,只是添加了几个 jar 和一个 本地 图书馆。您当前必须使用某种工具为您的 Swing 应用程序制作 exe 文件;该工具可能也可能无法打包本地代码库。该工具不太可能创建“ native win32 可执行代码”。相反,它将 Java 类文件与 JRE 和 stub Windows PE 文件一起打包。

    SWT 是作为 Eclipse 的一部分开发的。 Eclipse 具有富客户端平台或 RCP。如果将 Java 应用程序构建为 RCP 应用程序,则可以使用 Eclipse 工具为 Windows(或其他任何地方)生成可执行包。它不是单个可执行文件,而是一个包含可执行文件的目录。但是,您不必使用 Eclipse 来使用 SWT。

    RCP 应用程序必须使用的不仅仅是 SWT。它必须构建为一组依赖于核心 Eclipse 平台的 OSGi 包。一旦你在 Eclipse 中运行了这样的东西,Eclipse 中有一个向导会创建一个 Windows '可执行文件'(一个包含 JAR 文件中的代码的目录、JAR 文件中的大量 Eclipse 代码、JRE 和PE .exe stub )。您可以从 ant 自动化该过程,尽管我自己从未这样做过。我担心,您将需要阅读整本书才能加快了解所有这些。

    SWT 和 Swing 在资源和国际化方面没有区别。其他与 Eclipse 相关的库包括 I18N 规程,但不包括核心 SWT。您只需像在任何其他 Java 应用程序中一样使用语言环境和属性文件。

    关于SWT 部署为 EXE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1914297/

    相关文章:

    java - SWT表增量选择

    css - Eclipse Kepler RCP CoolBar 操作 CSS

    java - 在初始化静态变量之前执行一些事情

    java - 如何设置文件对话框的最小/最大大小? - SWT - Java

    SWT:如何 “render” 后台小部件/进入屏幕外缓冲区

    java - SWT Eclipse 组合事件

    java - SWT版本: getOppositeComponent on focus change

    java - 自动选择 SWT 文本框供用户输入信息

    java - SWTBot 拖动鼠标

    java - SWT 分区表和滚动