对于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构建系统"管道"这样人们就可以观察到这种情况以及类似的失败并对其进行补救。
答案 0 :(得分:1)
当我以管理员身份运行命令提示符(Win 7)时,它非常适合我。如果您以非管理员用户身份运行它,它将无效。
这是与Windows中的管理员权限相关的问题。
以非管理员用户身份运行命令时,即使文件夹结构存在,DITA-OT也不会创建使用 -l </ em>参数指定的日志文件夹。
以管理员用户身份运行DITA OT可解决此问题。我尝试了两种方法,发现-l参数仅在OT作为Admin用户运行时才创建文件夹。