我有一个maven项目,其中,我正在尝试执行脚本(用R编写)。我也把这个脚本文件放在源代码目录中。我发现这个脚本完全没有执行。但是,当我将此脚本移到jar文件外时,它会执行!任何人都可以告诉我为什么,并给我一些解决方案,将脚本放入jar中,同时确保其执行?如何从JAR文件执行脚本?
非常感谢!里面罐子
我有一个maven项目,其中,我正在尝试执行脚本(用R编写)。我也把这个脚本文件放在源代码目录中。我发现这个脚本完全没有执行。但是,当我将此脚本移到jar文件外时,它会执行!任何人都可以告诉我为什么,并给我一些解决方案,将脚本放入jar中,同时确保其执行?如何从JAR文件执行脚本?
非常感谢!里面罐子
我会做到以下几点:
文件不再是一个文件,所以它执行首先需要extract it somewhere,然后从外部提取的文件路径执行它
你的意思是提取出完整的jar文件或仅脚本文件来执行?你能告诉我如何从jar中提取单个文件吗? –
只需从jar中提取所需的文件,查看链接以获取更多详细信息,从答案 –
感谢您的帮助。脚本执行后,我必须删除提取的文件。似乎它不是很干净〜但最重要的是,它的工作原理 –
您需要提取的jar文件中的脚本:
jar -xvf my.jar com/foo/my.script.sh
的类,所以你的意思是从Java程序执行这个命令更好,然后执行第二个命令(解压文件)?它似乎很简单,并没有任何外部库支持〜 –
到目前为止的最佳答案。 – carlspring
@carlspring是的,我同意,但最好给步骤2的一点点代码。我不知道如何创建临时文件,临时定位,并在退出时删除它?谢谢〜 –
@EnsomHodder创建类似这样的用法:File.createTempFile(“prefix”,“suffix”) –