从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中提供位置来做到这一点。