Новое в Ant — проблема с относительными путями

StackOverflow https://stackoverflow.com/questions/1840178

  •  12-09-2019
  •  | 
  •  

Вопрос

Пожалуйста, помогите, я немного схожу с ума!!

Я использую сгенерированные Eclipse antfiles для создания проекта с зависимостями, один из которых имеет собственный файл сборки в каталоге, который является брат или сестра к прямому предку проекта, который я создаю.Например.если мой каталог "/base/modules/clinicalcontext", каталог одной из зависимостей просто "/база/ядро".

Итак, сгенерированный файл build.xml использует ../../core, что на самом деле правильно.Но это не так!!Из консоли видно, что Муравей возвращается. три уровни, а не только два (это дает FileNotFound на "/core/build.xml").

Я попытался изменить относительный путь к "../основной" и, к моему большому удивлению, таким образом Муравей возвращается обратно. один уровень (он жалуется "/база/модули/ядро" несуществующий).Так как же я говорю Муравью, чтобы он не возвращался? два уровни?Я бы предпочел избегать использования абсолютных путей, поскольку когда-нибудь мне, возможно, придется переместить проект на другую машину.

Спасибо всем.

Это было полезно?

Решение

Весь путь Ant будет относиться к вашему текущему рабочему каталогу.

Итак, проверьте, из какого каталога вы запускаете свой скрипт.

Я предлагаю вам начать использовать ${basedir} чтобы получить путь относительно местоположения build.xml.

В вашем случае относительный путь должен быть построен следующим образом: ${basedir}/../../core, вместо ../../core.

Несоответствия, с которыми вы сталкиваетесь, иллюстрируют, почему ant-скрипты, сгенерированные eclipse, являются хорошей отправной точкой, но никогда не являются хорошей системой сборки проекта.

РЕДАКТИРОВАТЬ.Интересно, почему не вставляется генератор муравьев затмения? ${basedir} в относительных путях?Возможно, вам следует сообщить об этом как об ошибке.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top