муравей: как проверить, является ли путь абсолютным или относительным? - PullRequest
1 голос
/ 29 июля 2011

Я работаю с apache ant и мне нужно проверить, содержит ли свойство абсолютный путь или относительный.Как это можно сделать в Windows?

в системах на основе Unix, я легко могу проверить наличие символа '/' в его начале.Есть ли встроенное задание для проверки этого или более общего способа?

Спасибо!

1 Ответ

2 голосов
/ 30 июля 2011

С момента выпуска 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 знал, что преобразование пути должно быть применено.

...