web-dev-qa-db-ja.com

Antに特定のターゲットのクラスパスを出力させることは可能ですか?もしそうなら、どのように?

(build.xmlファイル内の)<pathelement location="${xxx}"/>要素に<path refid="foo.class.path"/>要素と<path id="bar.class.path">要素の非常に長いリストがあるビルド対象を取得しようとしています。 「パッケージcom.somecompany.somepackageが存在しません」というエラーが引き続き発生します。これらのパッケージを追いかけて、リポジトリから同期したことを確認するのに苦労しています。

私はこのチームには初めてなので、ビルドに慣れていませんが、可能であればこれを自分で理解することを望みます(他の非常に忙しいチームメンバーを煩わせません)。 Antの使用経験は非常に限られています。

ビルドしようとしているターゲットのクラスパスをAntに出力させることができれば、かなり時間を節約できると思います。

76
Daryl Spitzer

pathconvertタスクを使用して、パスをプロパティに変換します

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

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

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

pathconvertのドキュメント

119
karoberts

Ant> 1.6のバージョンではさらに簡単です

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

詳細については、 http://ant.Apache.org/manual/using.html#pathshortcut を参照してください

61
iain