a) 一緒に放り込んでみませんか? Maven で ant を実行する場合、とにかく個々のターゲットを呼び出すことはできません。Ant の実行を Maven フェーズにバインドしています。したがって、クリーンフェーズで次のことができます。
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>clean</phase>
<configuration>
<tasks>
<delete file="${dir.dist}/${api.jarfile}" />
<delete dir="${dir.build}/**" />
<mkdir dir="${dir.build}" />
<mkdir dir="${dir.generated.code.junit}/build" />
<mkdir dir="${dir.dist}" />
<mkdir dir="${dir.deploy}" />
<mkdir dir="${dir.dist}" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
他のフェーズでさらに作業が必要な場合は、さらに実行を追加します。
</execution> <!-- end tag from above -->
<execution>
<phase>generate-sources</phase>
<configuration>
<tasks>
<!-- some more ant tasks -->
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
b) Maven を使用する場合は、Maven のように考える必要があります。Ant タスクで行っていることの多くは、デフォルトの Maven の動作です。
clean フェーズでは、clean:cleanゴールが実行され、ターゲット ディレクトリ (およびそれに伴う jar ファイル) が削除されます。使用しているすべてのディレクトリをターゲットの下に配置すると (これは Maven での推奨事項と見なされます)、maven はそれらを自動的に削除 (および作成) します。
Maven は規約に関するものです。
- 生成されたものはすべてターゲット内に入ります
- メイン アーティファクトのクラスとリソースは、ターゲット/クラス内に配置されます
- テスト用のクラスとリソースは、ターゲット/テスト クラス内に移動します
- 生成されたリソースは target/generated-resources/yourfoldername 内に移動します
- 生成されたソースは target/generated-sources/yourfoldername 内に移動します
すべての主要なプラグインは、これらの規則に従うことを期待しており (それらにはデフォルトが設定されています)、それらを使用すると Maven の作業が非常に簡単になります。
たとえばmvn clean
、生成されたものすべてを確実に削除します。いくつかの例外があります。プラグインはデータを別の場所に保存する必要があるため、clean:clean で取得することはできません。これらのプラグインは通常、代わりのクリーンなモジョ ( eclipse:cleanとidea:cleanがその例です) を提供しますが、それ以上の例外を作成しないようにしてください。
また、maven の慣習によれば、フェーズ クリーンでは何も作成しないでください。、 、、などgenerate-resources
、ものを生成するフェーズはたくさんあります。また、フォルダーの作成は通常不要です。私が知っているすべてのmavenプラグインは、ファイルを書き込むときに必要に応じてフォルダーを作成します。generate-sources
generate-test-resources
generate-test-sources