0

对于 DITA Open Tookit 2.1.0。

如果我按如下方式创建新输出,则命令运行完成:

dita -v -f html5 -i samples/sequence.ditamap -o OUTPUT/HTML5

DITA-OT 2.10 创建一个初始的 OUTPUT/[outputType] 子文件夹结构,构建输出,并运行完成而没有错误。

如果我按如下方式创建新输出,则命令无法运行并返回错误:

dita -v -l OUTPUT/HTML5/HTML5.log -f html5 -i samples/sequence.ditamap -o OUTPUT/HTML5

错误无法写入指定的日志文件。

所有 DITA-OT 2.1 输出类型都存在此问题。这个例子恰好是 HTML5。

规避方法是在运行命令之前创建输出类型的文件夹层次结构。除此之外,我可以简单地运行第一个命令,然后运行第二个命令——第二次没有问题。关键是如果文件夹层次结构到位,即使给定输出类型的文件夹是空的,那么 DITA-OT 2.1 也可以创建新的输出和日志文件。但是,如果目标文件夹不存在,DITA-OT 2.1 将无法实例化日志文件并放弃构建。

我尝试将-l OUTPUT/HTML5/HTML5.log移动到命令行的末尾,但没有帮助。

我意识到我可以在运行第二个命令之前创建一个创建文件夹层次结构的脚本文件(Windows 中的批处理文件),但我宁愿理解为什么 DITA-OT 2.1 可以创建新的输出文件夹层次结构和输出但不能这样做并且同时创建一个日志文件。

我对 DITA-OT 的构建系统 (Ant + XML) 还很陌生,所以我不清楚如何隔离问题。所以我希望有人会确切地知道在哪里看。或者更好的是,解释如何调试 DITA-OT 2.1 构建系统的“管道”,以便人们可以观察到这种和类似的故障并纠正它们。

4

1 回答 1

1

当我以管理员身份运行命令提示符(Win 7)时,它非常适合我。如果您以非管理员用户身份运行它,则它不起作用。

这是与 Windows 中的管理员权限相关的问题。

当您以非管理员用户身份运行该命令时,即使文件夹结构存在,DITA-OT 也不会创建使用-l参数指定的日志文件夹。

以管理员用户身份运行 DITA OT 可解决此问题。我尝试了这两种方法,发现 -l 参数仅在 OT 以管理员用户身份运行时创建文件夹。

于 2015-07-01T12:05:25.927 回答