2011-01-22 6 views
3

私はかなり前のプロジェクトでMavenを使用しましたが、すでに他の人が設定しています。主な概念(グループ、アーティファクト、ジャー、ローカルリポジトリ、リモートリポジトリのバージョン)をすばやく理解したので、私が尋ねられたら、新しいプロジェクトを最初から簡単にセットアップできると思いました。誰かが私にMaven 2(または3)依存関係の解決方法を説明できますか?

私はお互いに依存する複数のモジュールを扱うときはそうではないことが判明しました。私はmavenのドキュメントを覗いてみましたが、それはあまりにも簡潔で技術的すぎます(Mavenの人々がMavenのユーザではなく、Mavenのユーザではないと感じることがあります)。だから私はコミュニティの助けを求めています。

3つのリポジトリ::。

は、ここで一般的なシナリオです

私は通常のJava EEプロジェクトを構築していますctは、対応するクライアントjar、Webモジュール、およびJPAモジュールを持つ1つのEJB jarで構成されています(エンティティとすべてのdb接続をビジネスロジックから分離しておくのが好きです)。

  • myapp-ear
  • myapp-ejb
  • myapp-ejb-client
  • myapp-jpa
  • myapp-web

myapp-jpamyapp-ejbmyapp-webで使用されている:それは私に私のIDEで5プロジェクトを提供します。 myapp-ejb-clientには、私のEJBのビジネスインタフェースが含まれています。

どうすればいいですか?私は何らかの親プロジェクトが必要だと思っていますが、プロジェクト間の依存関係をどのように整理すればいいのか分かりません。例えば:私はmyapp-ejbさんpom.xmlのmavenで

<dependency> 
    <groupId>com.mycompany.myapp</groupId> 
    <artifactId>myapp-jpa</artifactId> 
    <version>0.1-SNAPSHOT</version> 
</dependency> 

を指定すると、現在の私のリポジトリにそれを検索しようとした.jarが見つからないことを私に伝えます。私が構築し、1 Mavenのは、常に耳ファイル自体:(

を構築するために失敗したいずれかで私のローカルリポジトリにすべてのアプリのコンポーネントをインストールした場合でも、私は、EclipseやNetBeansの下で働くそれを得るのが大好きです。

答えて

3

を私は考えます親プロジェクトでは、あなたの依存関係はではなく、あなたの親pomの依存関係セクションではになるようにする必要があります(そして、ここでは重要な部分です)。あなたはdependencyManagementセクションにそれらを必要とします。そして、あなたの子供のpomの中で、親にある依存関係を宣言することができます。

私が考えることができる他の唯一の問題点は、Eclipseでバージョン管理システムを使用してプロジェクトをチェックすると、親プロジェクトを「Mavenプロジェクトとして」チェックすることを忘れないようにする必要があります。そうでなければm2Eclipseプラグインは気にして、物事を適切に解決しない。

こちらがお役に立てば幸いです。

関連する問題