gpt4 book ai didi

java - 当我将 ArrayList 传递给 ProcessBuilder 时,出现“没有这样的文件或目录”错误

转载 作者:行者123 更新时间:2023-12-01 10:06:10 25 4
gpt4 key购买 nike

我有以下测试代码:

public class TestProcessBuilder {

public static void main(String args[]) {
String imageLocation = "/home/john/image";
String installCommand = "java -jar install.jar -install /home/john/install.properties";
ProcessBuilder pb = new ProcessBuilder();

pb.directory(new File(imageLocation));
pb.command(Arrays.asList(installCommand.split("\\+s")));
try {
pb.start();
} catch(Exception e) {
e.printStackTrace();
System.out.println("Failed to run command");

}

}

这给了我一个错误:

Cannot run program "java -jar install.jar -install /home/john/install.properties" (in directory "/home/john/"): error=2, No such file or directory

我是否必须创建一个单独的列表,然后手动将每个标记化项目添加到其中。我认为这应该可行...

最佳答案

您应该确保导出 java 文件夹的路径。然后你可以使用类似的东西:

public static void main(String[] args) {
String command = "java";
String parameters = "-jar install.jar -install /home/john/install.properties";
ProcessBuilder pb = new ProcessBuilder(command, parameters);

try {
pb.start();
} catch (IOException e) {
e.printStackTrace();
}
}

取决于您的需要,但如果您想在一个字符串中传递整个命令,您也可以使用它:

    try {
Runtime.getRuntime().exec("java -jar install.jar -install /home/john/install.properties");
} catch (IOException e) {
e.printStackTrace();
}

关于java - 当我将 ArrayList 传递给 ProcessBuilder 时,出现“没有这样的文件或目录”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36453770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com