从JAR内部运行* .exe文件

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

我用java -jar foo.jar运行它,我的UI打开了。 现在我想执行*.exe文件,该文件也在该JAR文件中,我该怎么做?

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

有什么建议么?

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

运行包装在jar中的exe

为什么我需要这个?

我想给用户一个文件可执行文件,他可以运行,但我的程序使用* .exe。 我应该把exe放在我的jar旁边,并且会有2个文件或者有我的要求的解决方案吗?

将文件复制到临时位置并运行它是可行的方法。 您链接到的答案做了更多必要的工作,因为您可以将您的exe文件作为InputStream并将其复制到具有Apache Commons IO FileUtils.copy(in, out)等实用程序的文件中

请参阅如何将jar中的文本文件复制到jar外部的文件中? 例如。

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