pandoc.exe:未知作者:markdown(从 Java 调用时)

pandoc.exe: Unknown writer: markdown (when called from Java)

我把 pandoc 放在 Windows 网络驱动器上。在命令行中调用成功:

P:\Maven\pandoc\pandoc-1.19.2.1-windows\pandoc.exe -t markdown C:\devel\ContiMars2\workspace\compareABM\docs\release-notes-utf8.html

但是当使用 ProcessBuilder 从 Java 开始时,

List<String> command = new ArrayList<>();
command.add("P:\Maven\pandoc\pandoc-1.19.2.1-windows\pandoc.exe");
command.add("-t markdown");
command.add("C:\devel\ContiMars2\workspace\compareABM\docs\release-notes-utf8.html");
ProcessBuilder pb = new ProcessBuilder(command);

我得到:

pandoc.exe: Unknown writer:  markdown

知道为什么吗?

这只是提供给 ProcessBuilder 的命令中空格的常见问题。如果你写 --to=markdown 而不是 -t markdown,一切都很好。