Ant スクリプトから ear ファイルを作成しようとしています。さまざまなプロジェクトを使用して .jar および .war (ear 内に含まれる) ファイルを作成するターゲットがいくつかありますが、これらは問題なくビルドされているため、含めません。
このディレクトリ構造を想像してください:-
Project1/
build/
lib/
META-INF/
build.xml
そのため、ant スクリプトが呼び出されると、ビルド ディレクトリが削除され、再作成されます。これはすべてかなり標準的なものです。次に、外部プロジェクトから jar と war を作成し、それらを build/ に保存します。すべて問題ありません。
しかし、ディレクトリ lib/ および META-INF/ も ear ファイルに含めたいと考えています。そこで、このターゲットを使用してそれらをビルド ディレクトリにコピーしようとしました。
<target name="file_cleanup">
<copy todir="${build}">
<fileset dir="lib/"/>
<fileset dir="META-INF/"/>
</copy>
</target>
この file_cleanup ターゲットは、以下に示すように、ear を作成するデフォルトのビルド ターゲットに依存しています。
<target name="ear" depends="initialise, file_cleanup, other targets...">
<ear destfile="My.ear" appxml="META-INF/application.xml">
<fileset dir="${build}" includes="*.jar,*.war"/>
</ear>
</target>
耳を摘出するときに見たいのは次のとおりです。
target1.jar
target2.war
lib/
META-INF/
しかし、私が実際に得るものは次のとおりです。
target1.jar
target2.war
and all of the contents of both the lib and META-INF directories...