gpt4 book ai didi

java - SVN 导入命令的参数太多

转载 作者:行者123 更新时间:2023-11-30 09:37:16 24 4
gpt4 key购买 nike

在 linux 机器上,我正在执行以下 SVN import 命令:

svn import
--non-interactive
--trust-server-cert
--username username
--password password
-m "a message"
/path/to/local.zip
https://sub.domain.net/path/to/export.zip

当我自己从命令行调用它时,它可以正常工作。

但是,如果我使用 Java 命令提示符进行此调用,则会收到一条错误消息,指出 import 命令中的参数过多。

有人知道是什么原因造成的吗?

补充说明

  • 如果我将 Java 生成的 svn import 命令从我的日志文件复制并粘贴到控制台,则导入会按预期进行。

  • 我可以在 Java 中使用 SVN export 命令,没有任何问题

  • 我试过使用单引号'

编辑

进行这些调用的代码如下:

private void exportToSvn()
String command = String.format(
"svn import --non-interactive --trust-server-cert " +
"--username %s --password %s -m %s %s %s",
username, password, "\"a message\"", "/path/to/local.zip",
"https://sub.domain.net/path/to/export.zip"
);
command( command );
}

private void command( String... commands ) throws IOException, InterruptedException {
Runtime rt = Runtime.getRuntime();
for( String command : commands ){
Process pr = rt.exec( command );
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
logger.debug( command );
String line;
while ( (line = input.readLine()) != null)
logger.debug("> " + line);
}

最佳答案

我建议你使用推荐的ProcessBuilder而不是过程。它使您可以更好地控制执行,并允许指定参数列表。它可能会解决您的问题,并且只需要对代码进行少量修改。

关于java - SVN 导入命令的参数太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10482507/

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