gpt4 book ai didi

java - 执行带有参数以 : error=2, 结尾的命令 系统找不到指定的文件

转载 作者:行者123 更新时间:2023-11-30 07:56:19 27 4
gpt4 key购买 nike

我的代码在 Windows 命令行上运行程序时遇到一些问题。我的目的是使用 svn.exe 更新版本控制存储库。该程序需要 update -u 参数和存储库的路径(例如 C:\Projects\Repository)。当我执行如下代码时,出现此错误:

Cannot run program "C:\Program Files\SlikSvn\bin\svn status -u "C:\Projects\Reposirtory"": CreateProcess error=2, The system cannot find the file specified

public void checkUpdates(String baseDir)
{
StringBuilder sb = new StringBuilder();

try
{

ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\SlikSvn\\bin\\svn status -u \"C:\\Projects\\\"");

pb.redirectErrorStream(true);
Process process = pb.start();
BufferedReader inStreamReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));

while (process.isAlive() == true)
{
this.wait(3);
}
while (inStreamReader.ready() == true)
{
sb.append(inStreamReader.readLine());
}

System.out.println(sb.toString());
}
catch (IOException e1)
{
System.out.println("Es ist ein Fehler aufgetreten. " + e1.getMessage());
}
catch (Exception e)
{
System.out.println("Es ist ein Fehler aufgetreten. " + e.getMessage());
}
finally
{
}
}

当我只执行这段代码时,它就会起作用。

ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\SlikSvn\\bin\\svn");

最佳答案

解决方案是 laune 的评论。参数必须位于单独的字符串中。

ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\SlikSvn\\bin\\svn", "status", "-u", "\"" +baseDir +"\"");

关于java - 执行带有参数以 : error=2, 结尾的命令 系统找不到指定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32627204/

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