我正在使用 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 中,则操作系统将无法运行该可执行文件。
考虑到这一点,您有多种选择......
你可以...
设计一个构建过程,编译并打包 jar 文件,获取该文件和可执行文件并将其复制到适当的目录结构中进行分发...甚至可能构建安装程序...
这意味着您仍然可以在运行时使用相对路径访问可执行文件
这确实意味着您将至少有两个需要分发的文件,但整个过程相对轻松......
你可以...
在 jar 文件中包含可执行文件。在运行时,您需要将可执行文件提取到文件系统并执行它。
这意味着您将至少有一个需要分发的文件,但这使开发过程变得复杂,因为您需要在运行时查找资源(可执行文件)并将其提取到某个位置,然后才能执行它
你可以...
只需为您的应用程序构建一个安装程序即可。像izPack之类的东西例如,或者您想要使用的安装程序。
这意味着您可以将单个文件分发给客户端,但安装时,它会将所有文件解压到安装位置,您无需关心...
关于Java GUI运行可执行文件+Jar打包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25878906/