【问题标题】:Java GUI runs executable + Jar PackagingJava GUI运行可执行文件+Jar打包
【发布时间】:2014-11-10 19:13:48
【问题描述】:

我正在开发一个使用 swing 运行可执行文件的 GUI。目前该可执行文件正在通过Runtime.getRuntime().exec() 使用。

我有可执行文件和源代码。如果我将我的 GUI 编译到一个 jar 中,可执行文件将不会像当前那样包含在其中,对吗?

我希望整个东西作为单个文件运行,是使用源代码更好,还是我可以在完成一些操作后将它们全部打包为一个 jar?

虽然我是手动编写所有代码,但我确实有用于 Eclipse 的 WindowBuilder,但我还没有真正彻底探索过它,那里有什么可以帮助的吗?

编辑:抱歉,澄清一下:我要构建的 GUI 使用名为 src2srcml 的可执行文件来获取源文件(C、C++、Java)并将其转换为 XML 文件。 src2srcml 是我从这个网站获得的一个单独的可执行文件:http://www.sdml.info/projects/srcml/

我想将此可执行文件嵌入到我的 GUI 中,这样当我将我的 GUI 编译成 JAR 时,它会在其中包含 src2srcml,这样我就不需要分别发送我的 GUI 和 src2srcml 的客户端。

【问题讨论】:

  • 有一个“可执行jar”之类的东西,可以作为单个文件运行。任何 IDE 都提供导出可执行 jar 的功能(如果我没记错的话,通常会要求您指定它是可执行的还是只是一个库)。

标签: java eclipse swing executable-jar


【解决方案1】:

如果您在 Jar 中包含可执行文件,则操作系统将无法运行该可执行文件。

考虑到这一点,您有很多选择...

你可以...

设计一个编译和打包 jar 文件的构建过程,获取该文件和可执行文件并将其复制到适当的目录结构中以进行分发...甚至可以构建安装程序...

这意味着您仍然可以在运行时使用相对路径访问可执行文件

这确实意味着您至少需要分发两个文件,但整个过程相对轻松......

你可以...

在 jar 文件中包含可执行文件。在运行时,您需要将可执行文件提取到文件系统并执行它。

这意味着您至少需要分发一个文件,但这会使开发过程复杂化,因为您需要在运行时找到资源(可执行文件)并将其解压缩到某个位置,然后才能执行它

你可以...

只需为您的应用程序构建一个安装程序。例如izPack 之类的东西,或者您想使用的任何安装程序。

这意味着您可以将单个文件分发给客户端,但安装时会将所有文件解压到安装位置,您无需关心...

【讨论】:

    【解决方案2】:

    我不确定我是否理解您的问题,但如果您想将应用程序导出到 jar 文件中并且希望它包含所有依赖项,只需看看这个 SO 问题:How to create a jar with external libraries included in Eclipse?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      相关资源
      最近更新 更多