jar包调用java -jar报错“Cannot run program“

项目模块中需要执行

java -jar  /etc/tool/invoke.jar arg1 "arg2"

其中invoke.jar在服务器/etc/tool目录下。
将项目打成jar包为connector.jar,执行

java -jar /home/connector.jar 

报错:Cannot run program " /etc/tool/invoke.jar " in directory …error=2,No such file or directory

解决方法:

// 参数需要逗号分割,arg2参数是字符串
String[] args=new String[]{
    
    "java","-jar","invoke.jar","arg1","\"arg2\""};
//如下方式报错
//String[] args=new String[]{"java -jar","invoke.jar","arg1 \"arg2\""};

ProcessBuilder processBuilder = new ProcessBuilder(args);
// invoke.jar所在的目录
processBuilder.directory(new File("/etc/tool"));
Process proc=process.start();
// 省略....


猜你喜欢

转载自blog.csdn.net/u010895512/article/details/122514317