web-dev-qa-db-fra.com

Est-il possible d'avoir Ant imprimer le chemin de classe pour une cible particulière? Si c'est le cas, comment?

J'essaie d'obtenir une cible à construire qui a une assez longue liste de <pathelement location="${xxx}"/> et <path refid="foo.class.path"/> éléments dans son <path id="bar.class.path"> élément (dans le fichier build.xml). Je reçois toujours des erreurs "package com.somecompany.somepackage n'existe pas", et j'ai du mal à traquer ces packages et à m'assurer que je les ai synchronisés à partir de notre référentiel.

Je suis nouveau dans cette équipe, donc je ne suis pas familier avec la construction, mais je préférerais le comprendre moi-même si possible (donc je ne dérange pas les autres membres de l'équipe très occupés). J'ai une expérience très limitée avec Ant.

Je pense que cela me ferait gagner un peu de temps si je pouvais demander à Ant d'imprimer le chemin de classe pour la cible que j'essaye de construire.

76
Daryl Spitzer

Utilisez la tâche pathconvert pour convertir un chemin d'accès en propriété

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

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

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

Documents pour pathconvert .

119
karoberts

C'est encore plus facile avec les versions de Ant> 1.6

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

Voir http://ant.Apache.org/manual/using.html#pathshortcut pour plus d'informations

61
iain