由于业务需求,我最近开始学习 SWT(准确地说是在第 4 课上),之前我已经使用 Swing 进行了 2 年的开发。
我们将 Swing 应用程序部署为具有资源依赖关系的 jar。在 SWT 中,可部署的形式和等价物是什么?
我有问题,但由于我的培训是在线进行的,因此我正在使用课件,除了 StackOverflow 外,没有任何讲师:
谢谢。
最佳答案
部署 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/