我有一个普通的 java 应用程序,它有一个调用 shell 脚本文件的主类src/main/resources/*.sh
我正在使用 Runtime.getRuntime().exec(cmd) 来执行脚本。
String cmdPath = new this.getClass().getResource("/XXXX.sh").getPath()
String[] cmd = { "bash", cmdPath };
我收到退出代码 127。
1) 使用 java -jar xxx.jar 运行
2)sh文件的文件权限是-rw-rw-r--
如何获得脚本文件的文件权限来执行?
脚本文件位于 src/main/resource/
使用maven-jar插件打包jar,脚本文件进入根目录
jar /-com -software -cmd.sh
尝试使用自定义脚本的 maven 程序集插件为 {basedir} 下的所有文件授予 755 权限(未在任何地方定义)。它不起作用
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>ourAssembly</id>
<formats>
<format>jar</format>
</formats>
<fileSets>
<fileSet>
<directory>${basedir}</directory>
<includes>
<include>**/*</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
</fileSets>