2009-09-01 19 views
3

私は、Mavenによって構築され、管理されているプロジェクトを持っています。私は、アリのビルドを持つ2番目のプロジェクトを持っています。私は、antプロジェクトからmavenプロジェクトを参照して、必要な依存関係をすべて取得したいと考えています。誰もこれを行う方法を提案することはできますか?ant/maven統合

おかげで、

ジェフ

+0

アイビーについて言及した人にとっては、既存のアリビルドに他のプロジェクトからの依存関係を見つけるだけの簡単な方法がありますか?または、Ivyをセットアップしてmavenと統合する必要がありますか?ありがとうございます。 ありがとうございます。 –

答えて

4

maven-ant-tasksはこの種のものにとってはかなりうまく機能します。

2

あなたが使用することができIvy

アイビーは、したがって、あなたのそれらのために、ビルドファイルのAntにMavenの の 依存関係の管理機能をもたらすために使用することができます

既にAntを使用していて誰も使用していない人 は、Mavenプロジェクトをセットアップします。

1

Apache Ivyは、Mavenスタイルのリポジトリを処理できるAntライブラリです。

Here'sこれらの違いとその2つを統合する方法について説明するページ。

1

Mercuryにはant tasksのセットがあり、依存関係管理タスクの実行、設定(サーバー証明書など)の指定、antパスの変更/変更、リポジトリへの書き込みが可能です。詳細はthis blogを参照してください。

アリのためにMaven tasksもありますが、完全には機能していません。 MavenはMercury(特にMaven3)に移行していますので、Mercuryのタスクを使用するのが理にかなっています。

次の設定は、指定されたPOMから依存関係を読み取り、その結果パスで指定された変数を取り込みます

<path id="my.compile.path"> 
    <deps> 
    <dependency name="groupId:artifactId:1.0::pom" 
     pom="${basedir}/artifactId-1.0.pom"/> 
    </deps> 
</path> 

あなたはまた、Antビルドファイルを使用してのMavenリポジトリにデプロイするためにマーキュリー・タスクを使用することができます。

<repo id="myRepository" 
    url="http://localhost:8081/nexus/content/groups/public"> 
    <auth name="myUser" pass="myPassword"/> 
</repo> 

<write repoid="myRepository" 
     name="my.group.id:my-artifact-id:1.0" 
     file="${basedir}/target/my-artifact-id.jar"/>