С момента выпуска Ant 1.8.0 появилась функция property
, которая позволяет переносить относительные и абсолютные пути переносимым способом.Теоретически, если вы устанавливаете свойство как абсолютный путь из пути, который уже является абсолютным, оба должны совпадать, тогда как если первое свойство относительно, , они должны отличаться.
Вот иллюстрация:
<property name="abs.path" value="C:\my\path" />
<property name="rel.path" value="my\path" />
<property name="abs.candidate" location="${abs.path}" relative="no" />
<property name="rel.candidate" location="${rel.path}" relative="no" />
<echo message="ABS=${abs.candidate}"/>
<echo message="REL=${rel.candidate}"/>
Результат:
Buildfile: build.xml
[echo] ABS=C:\my\path
[echo] REL=C:\Martin\my\path
Атрибут relative="no"
не является строго обязательным, поскольку по умолчанию используется значение «нет».Обратите внимание на использование location=
вместо value=
, чтобы Ant знал, что преобразование пути должно быть применено.