В постах блога Java и Ant Properties Refresher и Ant <echoproperties /> Task я писал о том, как возможность увидеть, как свойства видятся при сборке Ant, может быть полезна для лучшего понимания этой сборки. Часто бывает так, что было бы полезно увидеть различные пути, используемые в сборке, так как сборка их видит, особенно если пути составлены из других путей и фрагментов из других файлов сборки. К счастью, как описано в потоке Ant StackOverflow Ant: как отобразить переменную пути класса в файл , это легко сделать с помощью задачи Ant PathConvert .
Следующий фрагмент XML представляет собой очень простой файл сборки Ant, который демонстрирует использование <pathconvert> для отображения содержимого пути Ant с помощью обычных механизмов, используемых для отображения свойств Ant.
build-show-paths.xml: Ant build.xml Использование pathconvert
|
01
02
03
04
05
06
07
08
09
10
11
12
13
|
<project name="ShowPaths" default="showPaths" basedir="."> <path id="classpath"> <pathelement path="C:\groovy-2.4.0\lib"/> <pathelement location="C:\lib\tika-1.7\tika-app-1.7.jar"/> </path> <target name="showPaths"> <pathconvert property="classpath.path" refid="classpath" /> <echo message="classpath = ${classpath.path}" /> </target></project> |
Приведенный выше пример простого файла сборки Ant создает путь Ant с именем «classpath». Затем он использует задачу pathconvert для создания нового свойства («classpath.path»), которое содержит значение, хранящееся в пути «classpath». После этого свойство «classpath.path» может отображать свое значение с помощью задачи эха Ant, как показано в разделе «Обновление свойств Java и Ant ».
При отладке проблем со сборками Ant часто полезно использовать Ant -verbose . Однако иногда -verbose является более тяжелым решением, чем на самом деле требуется, и часто простая возможность легко определить, какие свойства и пути «видит» сборка Ant, может быть очень полезна при диагностике проблем сборки.
| Ссылка: | Отображение путей в Ant от нашего партнера JCG Дастина Маркса в блоге Inspired by Actual Events . |
