SWT部署为EXE

SWT*_*ner 3 swt

由于业务需求,我最近开始学习SWT(准确地说是第4课),之前我和Swing一起开发了2年.

我们将Swing应用程序部署为具有资源依赖性的jar.在SWT中,可部署的表单和等价物是什么?

我有问题,但由于我的培训是在线的,我在课程中没有教师,除了StackOverflow:

  1. SWT应用程序可以作为独立的EXE部署吗?人们谈论的"Eclipse EXE"是什么?这是否意味着所有SWT输出都是基于Eclipse的EXE?或者他们可以完全独立的EXE?

  2. 如果1的答案是肯定的,编译器如何生成本机win32可执行代码?这是我彻底困惑的一个领域.通常情况下,可部署的jar被提供给VM,它读取清单并执行其内容,但EXE作为输出?幕后真的是什么?

  3. 如何管理外部资源包?在部署时?

  4. 国际化支持?

谢谢.

bma*_*ies 8

部署SWT应用程序就像部署Swing应用程序一样,添加了几个jar和本机库.你当前必须使用一些工具为你的Swing应用程序制作exe文件; 该工具可能也可能不具备打包本机代码库的能力.该工具不太可能正在创建"本机win32可执行代码".相反,它将Java类文件与JRE和存根Windows PE文件打包在一起.

SWT是Eclipse的一部分.Eclipse具有Rich Client Platform或RCP.如果将Java应用程序构建为RCP应用程序,则可以使用Eclipse工具为Windows(或其他任何位置)生成可执行程序包.它不是一个可执行文件,它是一个带有可执行文件的目录.但是,您不必使用Eclipse来使用SWT.

RCP应用程序必须使用的不仅仅是SWT.它必须构建为一组依赖于核心Eclipse平台的OSGi包.一旦你在Eclipse中运行这样的东西,Eclipse中就会有一个向导创建一个Windows'可执行文件'(一个包含JAR文件中代码的目录,JAR文件中的大量Eclipse代码,JRE和PE .exe存根).你可以从ant自动化这个过程,虽然我自己从来没有这样做过.我担心,你需要做一本书本阅读才能快速掌握所有这些.

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