我正在尝试使用java 类中的Runtime.exec函数从另一个 jar 运行可执行 jar。
代码是
Runtime r = Runtime.getRuntime();
Process p = r.exec("java -jar \""+_JarPath +"\" " + "\""+ args[0]+"\""+ " " +"\""+ args[1]+"\""+ " " +"\""+ args[2]+"\"" + " " +"\""+ args[3]+"\"");
在这里,参数args
不为空并且定义明确。
此代码在 Windows 平台上运行良好,但在 Linux 上,我收到错误
无法访问 jarfile “/opt/mydir/lib/MyFol/mytest.jar”
我已经阅读了其他类似的问题并确保
- 目录
/opt/mydir/lib/MyFol/
和文件mytest.jar
拥有所有权限 - 启动此进程命令的可执行 jar 也具有所有权限。
- linux上的用户也是admin
我在 Linux 上使用OpenJDK 。