我正在使用运行可执行文件的swing开发GUI。目前,可执行文件正在Runtime.getRuntime().exec()
使用。
我有可执行文件和源代码。如果我将我的GUI编译成一个jar,那么可执行文件将不会包含在其当前的位置,对吗?
我希望将整个事件作为单个文件运行,使用源代码是否更好,或者当我完成某些操作时,我可以将它全部打包为一个jar吗?
虽然我手工编写了所有代码,但是我确实有用于日食的WindowBuilder,我还没有彻底探索过它,那里面有什么可能有帮助吗?
编辑:很抱歉,澄清一下:我想构建的GUI使用一个名为src2srcml的可执行文件来获取源文件(C,C ++,Java)并将其转换为XML文件。 src2srcml是我从这个网站获得的一个单独的可执行文件:http://www.sdml.info/projects/srcml/
我想将这个可执行文件嵌入到我的GUI中,这样当我将GUI编译成JAR时,它内部包含src2srcml,这样我就不需要分别向GUI和src2srcml发送客户端了。
答案 0 :(得分:3)
如果在Jar中包含可执行文件,操作系统将无法运行可执行文件。
考虑到这一点,你有很多选择......
设计一个构建过程,编译并打包jar文件,获取该文件和可执行文件并将其复制到适当的目录结构中进行分发......甚至可以构建安装程序......
这意味着您仍然可以使用相对路径
在运行时访问可执行文件这意味着您将至少需要分发两个文件,但整个过程相对无痛......
在jar文件中包含可执行文件。在运行时,您需要将可执行文件解压缩到文件系统并执行它。
这意味着您将至少需要分发一个文件,但它会使开发过程变得复杂,因为您需要在运行时查找资源(可执行文件)并将其提取到某个位置,然后才能执行它
只需为您的应用程序构建一个安装程序。例如像izPack之类的东西,或者你想要使用的安装程序。
这意味着您可以将单个文件分发到客户端,但是在安装后,它会将所有文件解压缩到安装位置,您无需关心...
答案 1 :(得分:0)
我不确定我是否理解你的问题,但是如果你想将你的应用程序导出到jar文件中,并且你希望它包含所有的dependecies,那就看看这个问题:How to create a jar with external libraries included in Eclipse?