SWT部署为EXE

SWT部署为EXE,swt,Swt,由于业务需求,我最近开始学习SWT(准确地说是在第4课),之前我已经在Swing上开发了2年 我们将Swing应用程序部署为具有资源依赖性的JAR。在SWT中,可部署的形式和等价物是什么 我有问题,但由于我的培训是在线的,我正在学习一门课程,除StackOverflow外,没有其他讲师: SWT应用程序能否作为独立的EXE部署?人们谈论的“Eclipseexe”是怎么回事?这是否意味着所有SWT输出都将是基于Eclipse的EXE?或者他们是完全独立的前任 如果1的答案是“是”,编译器如何生成本

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

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

我有问题,但由于我的培训是在线的,我正在学习一门课程,除StackOverflow外,没有其他讲师:

  • SWT应用程序能否作为独立的EXE部署?人们谈论的“Eclipseexe”是怎么回事?这是否意味着所有SWT输出都将是基于Eclipse的EXE?或者他们是完全独立的前任

  • 如果1的答案是“是”,编译器如何生成本机win32可执行代码?这是我完全困惑的一个领域。通常,一个可部署的jar被提供给VM,VM读取清单并完成它的工作,但是一个EXE作为输出?幕后到底是什么

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

  • 国际化支持


  • 谢谢。

    部署SWT应用程序就像部署Swing应用程序一样,添加了几个JAR和一个本机库。您当前必须使用某些工具为您的Swing应用程序生成exe文件;该工具可能有能力也可能没有能力打包本机代码库。该工具不太可能正在创建“本机win32可执行代码”。相反,它将Java类文件与JRE和存根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存根)。您可以从ant自动化这个过程,尽管我自己从来没有这样做过。我担心,为了跟上这一切的进度,你需要阅读大量书籍


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

    基本上,您需要使用常规的Java-jar命令来运行项目

    然后创建一个exe引导程序,在双击该命令时运行该命令


    可以做额外的事情,比如检查exe程序中的JVM版本

    SWT不是基于Eclipse的,但是eclipseui是基于SWT的。Eclipse将SWT库用于其绘图。它使用Eclipse联盟的GUI库,可用于许多系统。如果您想用SWT GUI部署普通Java应用程序,只需添加相应的libs和.dll或.so即可。因此,如果您提供了相应的库,那么使用Java和Swing所能做的一切(部署)都可以通过SWT来完成。有一些工具和方法可以将所有内容编译成.exe,但这并不一定是必需的。 我并不真正理解您所说的EclipseEXE,但Eclipse只提供了一个初学者EXE,它基本上只是一个包装器。否则,有些人会引用Eclipse RCP als Eclipse EXE,但这是不正确的。您可以使用EclipseRCP作为应用程序的基础,这将使用SWT作为UI库。但是您可以自己使用SWT,就像使用库一样,而不需要Eclipse跟踪


    我希望这会有所帮助。

    您可以使用像这样的java-to-EXE包装器。
    希望能有所帮助。

    感谢您的明确回复。只是想知道:在eclipse中,如何为Windows生成可执行程序包?假设我有一个传统的HelloSWT外壳编码。您可以指定获取可执行程序包的步骤吗(只要它不太长,否则我会在有时间时查找它)。我用过一次,它很完美