【发布时间】:2012-09-21 12:31:05
【问题描述】:
我正在使用来自 Java 的 svn 命令来获取有关工作副本的信息。
final Process exec = Runtime.getRuntime().exec(
new String[]{"svn","info","--xml","/path/to/wc"}
);
ByteStreams.copy(exec.getErrorStream(), System.err);
// ... more code to read output
这给出了错误输出
/path/to/wc
: (Not a versioned resource)
但是,如果我在终端窗口中运行相同的命令,我会得到我想要的输出。我也试过在终端运行时排除环境:
env -i svn info --xml /path/to/wc
但输出仍然正确。为什么从 Java 运行时它的行为会有所不同?
【问题讨论】:
-
你真正的“厕所路径”是否包含空格?
-
@SeanBright 不,它没有,但即使有,也不应该将命令作为数组传递以防止导致任何错误吗?
-
你是在工作目录的终端运行svn命令吗?
-
@jtahlborn 不,终端的工作目录是我的主目录,不是工作副本。
标签: java svn exec runtime.exec