webentwicklung-frage-antwort-db.com.de

Kann Ant den Klassenpfad für ein bestimmtes Ziel ausdrucken? Wenn das so ist, wie?

Ich versuche, ein Ziel zum Bauen zu bringen, das eine ziemlich lange Liste von <pathelement location="${xxx}"/> und <path refid="foo.class.path"/> Elemente in seinem <path id="bar.class.path"> -Element (in der Datei build.xml). Ich erhalte immer wieder die Fehlermeldung "package com.somecompany.somepackage does not exist", und es fällt mir schwer, diese Pakete zu durchsuchen und sicherzustellen, dass ich sie aus unserem Repository synchronisiert habe.

Ich bin neu in diesem Team, daher bin ich mit dem Build nicht vertraut, aber ich würde es vorziehen, dies selbst herauszufinden, wenn dies möglich ist (damit ich die anderen sehr beschäftigten Teammitglieder nicht störe). Ich habe nur sehr begrenzte Erfahrungen mit Ant.

Ich denke, es würde mir einiges an Zeit sparen, wenn Ant den Klassenpfad für das Ziel ausdrucken könnte, das ich bauen möchte.

76
Daryl Spitzer

Verwenden Sie die Task pathconvert, um einen Pfad in eine Eigenschaft zu konvertieren

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

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

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

Docs für pathconvert .

119
karoberts

Dies ist mit Versionen von Ant> 1.6 noch einfacher

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

Weitere Informationen finden Sie unter http://ant.Apache.org/manual/using.html#pathshortcut

61
iain