Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果jar本身中存在shell脚本,如何从创建的jar文件运行shell脚本?_Java_Shell_Maven_Sh - Fatal编程技术网

Java 如果jar本身中存在shell脚本,如何从创建的jar文件运行shell脚本?

Java 如果jar本身中存在shell脚本,如何从创建的jar文件运行shell脚本?,java,shell,maven,sh,Java,Shell,Maven,Sh,我想从maven JAVA项目创建的jar运行shell脚本。我想通过ProcessBuilder触发该shell脚本,但我不明白,我如何才能获得shell脚本的路径。我的shell脚本位于项目的src/main/resources文件夹中。Shell脚本还需要执行一个参数(Shell脚本和args文件到Shell脚本都在上面提到的相同路径中)。请任何人都能帮助我,我如何从我的jar文件运行shell脚本 这不是一个解决方案,但可以通过将脚本从jar复制到本地目录并执行它来实现。使用ClassL

我想从maven JAVA项目创建的jar运行shell脚本。我想通过ProcessBuilder触发该shell脚本,但我不明白,我如何才能获得shell脚本的路径。我的shell脚本位于项目的src/main/resources文件夹中。Shell脚本还需要执行一个参数(Shell脚本和args文件到Shell脚本都在上面提到的相同路径中)。请任何人都能帮助我,我如何从我的jar文件运行shell脚本

这不是一个解决方案,但可以通过将脚本从jar复制到本地目录并执行它来实现。使用
ClassLoader.getResource()
,获取脚本的
InputStream
,将其内容转储到从
ProcessBuilder.getOutputStream()返回的
OutputStream
并运行
bash-s
。这个主意听起来不错,但我还没有时间测试它。这不是一个解决方案,但可以通过将脚本从jar复制到本地目录,然后执行它来实现。使用
ClassLoader.getResource()
,获取脚本的
InputStream
,将其内容转储到从ProcessBuilder.getOutputStream()返回的
OutputStream
,然后运行
bash-s
。这个主意听起来不错,但我还没有时间去测试。