2015-02-27 5 views
0

Для DITA Open Tookit 2.1.0.DITA-0T 2.1: МОЖЕТ создавать новый вывод, но не может создать новый вывод И файл журнала тоже

Если я создаю новый выход следующим образом, то команда выполняется до завершения:

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

DITA-OT 2,10 создает начальную/[OutputType] структуру вложенных папок OUTPUT, строит вывод, и заканчивается без ошибок.

Если я создаю новый вывод следующим образом, то команда не запускается и выдает ошибку:

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

Ошибка: Невозможно записать в указанный файл журнала.

Эта проблема существует для всех типов вывода DITA-OT 2.1. Этот пример просто выглядит как HTML5.

Обход должен состоять в создании иерархии папок выходного типа перед запуском команды. Помимо прочего, я могу просто запустить первую команду, за которой следует вторая команда - без проблем второй раз. Дело в том, что, если иерархия папок установлена ​​на место, даже если папка заданного типа вывода пуста, THEN DITA-OT 2.1 может создать новый выход AND файл журнала. Но если папка назначения НЕ существует, DITA-OT 2.1 не сможет создать экземпляр файла журнала и просто отказаться от сборки.

Я попытался переместить -l OUTPUT/HTML5/HTML5.log в конце командной строки, это не помогло.

Я понимаю, что могу создать файл сценария (пакетный файл в Windows), который создает иерархию папок перед запуском второй команды, но я бы лучше понял, почему DITA-OT 2.1 МОЖЕТ создать новую иерархию выходных папок и выводить НЕ МОЖЕТ сделать это и создать файл журнала одновременно.

Я все еще достаточно новый для системы сборки DITA-OT (Ant + XML), в которой у меня нет четкого представления о том, как изолировать проблему. Поэтому я надеюсь, что кто-то точно узнает, где искать. Или еще лучше, объясните, как можно отладить систему водопровода DITA-OT 2.1, чтобы можно было наблюдать это и подобные сбои в действии и исправить их.

ответ

1

Он отлично работает для меня, когда я запускаю Командную строку в качестве администратора (Win 7). Это не работает, если вы запускаете его как пользователь, не являющийся администратором.

Это проблема, связанная с правами администратора в Windows.

Когда вы запускаете команду как пользователь, не являющийся администратором, DITA-OT не создает папку журнала, указанную параметром -l, даже если структура папки существует.

Запуск DITA OT в качестве пользователя-администратора разрешает эту проблему. Я пробовал оба подхода и обнаружил, что параметр -l создает папки только тогда, когда OT запускается как пользователь Admin.