ant 1.8.1 を使用して Java コンパイルを実行しようとしていました。要件により、ループ内で多数の Java ソース フォルダー (Java ファイルを含む) をコンパイルする必要があります。これらのフォルダ名は、プロパティ ファイルに記載されている Java プロジェクトから派生します。ループ自体から、Java コンパイルを実行する必要があります。そこで、Java ソースのコンパイルに必要なすべてのパラメーターを渡すマクロ定義を使用しました。基本的に、build_Compile.xml を呼び出しているメインの build.xml ファイルがあります (これの責任は、ビルドする Java プロジェクトとそれに対応するソース フォルダーを特定し、各プロジェクトのループでコンパイルを実行することです)。これを実現するために、多数のマクロ定義を含むヘルパー ファイル (Helper.xml) ファイルで定義されたマクロ定義を使用します。
ただし、タスクを実行すると、java src パス (パラメーターとして渡される) が正しく見つからないことを示すエラーが表示されます。私が気付いたのは、ビルド ファイルのパス (すべての build*.xml ファイルが存在する場所) が Java src ディレクトリ パス (マクロ定義でパラメーターとして渡される) の前に追加されていることです。期待どおりに見えるマクロ定義に渡されるパラメーターを出力しました。これは私がJavaソースのコンパイルに使用しているスニペットです -
…………
<javac srcdir="@{srcpath}"
destdir="./Temp/build/classes/"
includeAntRuntime="false"
classpath="${classpath}"
includes="${replacedartefacts}">
</javac>
話が長くなってすみません。ポインタ/ガイドラインに感謝します。ありがとう。