有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java运行*。来自JAR内部的exe文件

我有一个巨大的JAR文件,是我用Maven Shade插件创建的

我用java -jar foo.jar运行它,我的UI打开。现在我想执行*.exe文件,它也在那个JAR文件中,我如何才能做到这一点

我尝试将exe放入我的类路径并从那里运行它,但在尝试之后,我发现类路径实际上就是我的JAR所在的位置

有什么建议吗

在这里找到了这个东西,但这真的是最好的解决方案吗?看起来有很多工作,我想我这里有不同的情况,因为我可以自己定义exe的位置,JAR是我创建的

run exe which is packaged inside jar

为什么我需要这个

我想给用户一个可执行文件,他可以运行,但我的程序使用的是*。exe。我应该把exe放在我的jar旁边,然后会有2个文件,还是有适合我需求的解决方案


共 (2) 个答案

  1. # 1 楼答案

    这与位置无关,而是你需要告诉你的操作系统运行exe,不幸的是,你不能通过在jar中提供一个位置来做到这一点

  2. # 2 楼答案

    将文件复制到一个临时位置并运行它是一种方法。您链接到的答案需要做更多必要的工作,因为您可以将exe文件作为输入流,并使用Apache Commons IOFileUtils.copy(in, out)之类的实用工具将其复制到文件中

    例如,参见How do I copy a text file from a jar into a file outside of the jar?