2010-03-12 1 views
71

Я пытаюсь получить цель для построения, которая содержит довольно длинный список <pathelement location="${xxx}"/> и <path refid="foo.class.path"/> элементов в своем элементе <path id="bar.class.path"> (в файле build.xml). Я продолжаю получать ошибки «package com.somecompany.somepackage не существует», и я с трудом преследую эти пакеты и убедился, что я синхронизировал их из нашего репозитория.Возможно ли, чтобы Ant распечатывал путь к определенной точке? Если да, то как?

Я новичок в этой команде, поэтому я не знаком с сборкой, но я бы предпочел понять это сам, если это возможно (так что я не беспокою других очень занятых членов команды). У меня очень ограниченный опыт работы с Ant.

Я думаю, что это сэкономит мне немного времени, если я смогу передать Ant путь к классу для цели, которую я пытаюсь построить.

ответ

109

Используйте pathconvert задачу, чтобы преобразовать путь к свойству

<path id="classpath"> 
.... 
</path> 

<pathconvert property="classpathProp" refid="classpath"/> 

<echo>Classpath is ${classpathProp}</echo> 

Docs for pathconvert.

+3

Он отлично работает! Благодаря! –

51

Это еще проще с версиями Ant> 1,6

<echo>${toString:classpath}</echo> 

Смотрите http://ant.apache.org/manual/using.html#pathshortcut для получения дополнительной информации

+1

Работал для меня, спасибо. Я предпочитаю это решение для простоты. – ithofm