在 linux 机器上,我正在执行以下 SVNimport
命令:
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
到控制台,那么导入将按预期工作。我可以
export
在 Java 中使用 SVN 命令没有任何问题我试过使用单
'
引号
编辑
进行这些调用的代码如下:
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);
}