2011-09-26 10 views
5

に入れることができます私たちはANTとMavenを一緒に使ってプロジェクトを構築することができます.MavenのPOM.xmlからANTスクリプトを実行できます。しかし、私の質問は、ANTのbuild.xmlを通じてpom.xmlを実行できますか? つまり、build.xmlからmavenビルドを作成できますpom.xmlをANT

答えて

8

はい、maven ant tasksを使用しています。

このページには、antビルドスクリプトに統合できる複数のmavenタスクがリストされており、両方の機能を組み合わせています。例として、mvn taskがあります。これは、文書化されているように、antから完全なmavenビルドを行うことができます。この他

<artifact:mvn mavenHome="/path/to/maven-3.0.x"> 
    <arg value="install"/> 
    </artifact:mvn> 

  • 依存タスク
  • インストールおよび展開タスク
  • pomのタスク例を挙げて説明

各々があります。

+1

これは理論的に質問に答えるかもしれませんが、答えの本質的な部分を含め、参照のためのリンクを提供することが望ましいでしょう(http://meta.stackexchange.com/q/8259)。 – oers

+0

@Raghuram、リンクありがとう。しかし、あなたはどんな例の助けを借りてあなたの答えを詳述できますか? – Sachchidanand

+0

@ Gaurav。実際には、リンクに必要なすべての情報があります。私はとにかく答えを精緻化しました。あなたが必要とする特定の情報で質問を編集し、誰かが助けることができます。 – Raghuram

1

MavenおよびANTは、非常に異なるビルドツールです。 ANTでは、すべてのロジックを自分で記述しますが、標準のビルドプロセスはMavenで "焼いています"。 POMファイルにロジックが含まれておらず、プロジェクトに関する一連の宣言が含まれています。

Mavenの動作をよく理解しているなら、理論的にはPOMを取り、Mavenビルドの動作をエミュレートするANTビルドを生成することができます。主にANTに依存性管理などのMaven機能がないため、他の方向に簡単に変換できる解決策は認識していません。

ANTビルドをMavenに変換するのではなく、既存のビルドロジックを維持し、クラスパスの管理をivyまたはMaven ANTタスクに委任することをお勧めします。これらのツールは、ビルド出力をMavenリポジトリに公開するタスクも提供し、Mavenを使用してプロジェクトを他のプロジェクトと共有できるようにします。

最後に、私はivy支持者であり、アップグレードプロセスを支援できるant2ivyスクリプトを書いています。プロジェクトの依存関係をMavenセントラルリポジトリからダウンロードするための初期設定ファイルを作成します。