2012-03-30 2 views
1

У меня есть пакетный скрипт Windows, который я использую для сборки модуля, и скрипт, в свою очередь, использует команду ClearCase clearmake для управления фактическими компиляциями, созданиями каталога и файловыми манипуляциями, т. Е. Обрабатывает содержимое Makefile. Пакетный скрипт работает безупречно при вызове с использованием окна DOS или из вызова командной строки «cmd/c ...». И так было в течение ряда лет.Windows, ClearCase и Ant: как обращаться с косой чертой?

Недавно я решил перенести сценарий в Ant. Первым шагом, из простоты, было просто вызвать сценарий без изменений, используя задачу Exec (используя cmd /c). Почти сразу Ant терпит неудачу при создании каталога. Сообщение об ошибке сообщает что-то вроде:

mkdir: Cannot create the directory C:\\fred\\harry\\joe

Я был в состоянии проверить, что с помощью командной строки DOS, команда mkdir C:\\fred\\harry\\joe работает нормально, так что, насколько я могу сказать, до сих пор, Ant генерации двойной обратный слэш разделители путей в сочетании с чем-то, что присуще clearmake и/или что-то в Makefile, вызывает сбой.

Ответ, который я ищу, является следующим: «Да, clearmake определенно является виновником, потому что ...» или «Если вы обманываете эту вещь или что-то в Ant, будет создан только один обратный слэш ... ". Если не будет простого и быстрого объяснения, я буду разбираться в проблеме, чтобы определить, что именно вызывает отказ.

Спасибо,

ответ

0

я видел подобную ошибку с:

  • динамических представлениями (более чувствительны к собственности, чем вид снимки на C: \, что ваш случай)
  • ресурса ручка конфликт (сценарий пытается обновить ресурс, уже принятый другим процессом, что не должно иметь место здесь с вашим скриптом, поскольку оно работало вне задачи Ant Exec)
  • сообщение об ошибке (например, вы создаете каталог, который уже существует : ошибка get игнорируется в классическом сценарии, в то время как он может прервать работу муравья.

Хотя последняя причина является хорошим кандидатом, попробуйте сначала упростить сценарий (оставить только mkdir, например), чтобы проверить, что эта линия действительно вопрос (Н.Д. не «эта линия в сочетании с другими действия, осуществляемые непосредственно перед »)

Смежные вопросы