web-dev-qa-db-ja.com

Javaビルドツール:Ant vs. Maven

私は this ブログを読んでいたKent R.SpillnerJava build私はAntとMavenを軽く使用しましたが、どちらかを真剣にコミットするつもりはありませんでした。プロジェクト(約20K LOC)。

33
Andromeda

それは本当に依存しています。 MavenとAntは、異なるアプローチです。命令型と宣言型( Imperative vs Declarative build systems を参照)

Mavenは依存関係の管理に優れています(ただし、Ant + Ivyを使用する場合はAntも問題ありません)、アーティファクトを構築します。 Mavenの主な利点-そのライフサイクル。正しいフェーズで特定のアクションを追加するだけで、かなり論理的に思えます。たとえば、統合テストフェーズで統合テストを起動するだけです。また、多くの既存のプラグインがあり、ほとんどすべてのプラグインを使用できます。 Mavenアーキタイプは強力な機能であり、プロジェクトをすばやく作成できます。

Antは、ビルドプロセスの制御に適しています。最初のビルドの前に、build.xmlを作成する必要があります。ビルドプロセスが非常に具体的である場合、複雑なスクリプトを作成する必要があります。長期的なプロジェクトでは、Antスクリプトのサポートが非常に苦痛になる可能性があります。スクリプトが複雑になりすぎて、スクリプトを書いた人がプロジェクトを離れるなどです。

どちらもxmlを使用しており、大きな長期プロジェクトでは大きすぎる可能性があります。

とにかく、両方の特定のドキュメントを読む必要があります。また、ant-maven-pluginがあり、mavenでant-scriptを起動できます。

追伸Gradleを見ることができます。これは、Mavenよりも自由ですが、Antよりも使いやすいです。

58
arghtype