我正在创建一个 Java 程序,该程序将执行 JAR 文件以在我的机器上本地部署数据库。为此,我需要从 shell 脚本执行 JAR 文件(这需要自动化,而不是手动部署)。
“java -jar some-jar-SNAPSHOT.jar”
问题是,每当我尝试访问任何类型的 shell 脚本时,我都会收到错误 = 13,权限被拒绝。我已经使用 sudo chmod 777 使我的目录为所有用户以及 JAR 文件本身读取、写入、执行。即使我尝试更改目录时也会出现问题。
这是我用来执行命令的代码片段:
String[] jarCommand = {"java -jar some-jar-SNAPSHOT.jar"};
Process process = Runtime.getRuntime().exec(jarCommand);
System.out.println("Jar File accessed");
编辑:当我尝试执行一个简单的命令时会出现此权限问题,例如:
String[] cd = {jarDirectory.getAbsolutePath(), "cd"};
Runtime.getRuntime().exec(cd);
这是在通过 chmod 设置文件的权限之后。
我查看了大量不同的类似问题,但没有一个解决方案解决了我的问题。任何帮助是极大的赞赏。
天涯尽头无女友
HUX布斯
相关分类