2011-12-15 11 views
0

依存関係をmavenで動的に読み込むことはできますか?依存関係を動的にロードする

たとえば、Glassfishサーバー上で実行するためには特定のjar Aを必要とするWebプロジェクトがあり、WEB-INF/libフォルダー内でweblogic上で実行するには同じプロジェクトに追加のjar Bが必要です。

は、私はGlassFishのとWebLogicの別のpom.xmlファイルを持っているし、その後使用されているサーバーに応じて、適切なのpom.xmlを実行する必要がありますか?

または両方の依存関係(つまり、jar Aとjar Bの両方が指定されている)とpom.xmlに渡されたパラメータ(mvn clean package -Dserver = glassfishな​​ど)に依存して、それは瓶Aのみをロードするでしょうか?

これは可能ですか?

これを行う最も適切な方法は何ですか?

助けてください。

答えて

1

あなたはmavenのプロファイルの概念を利用することができます。実行環境のプロファイル全体を作成し、そのプロファイルでmavenを起動することができます。詳細情報については、http://maven.apache.org/guides/introduction/introduction-to-profiles.html

これらのプロファイルは、POM内で定義することができ、または外部ファイルで定義され、POM内にそれを参照することができます参照してください。プロファイルを起動するには、-Pオプションをつけて起動します。mvn -P

+0

クイック返信ありがとうございます。 pomにいくつかの共通の依存関係を持たせて、各プロファイルの依存関係をプロファイルできますか?したがって、生成されたwarファイルには、現在実行中のプロファイルに指定されている依存関係と共通の依存関係があります。 – ashishjmeshram

+0

うん!それがあなたに合っているなら。どちらの方法もうまくいくはずですが、ベストプラクティスが何であるか分かりません。プロファイルは、依存関係のためだけに使用されるより広いアプリケーション範囲を持ちます。たとえば、毎晩のビルドごとにjavadocを生成する必要はありません。そのため、プロファイルを作成してjavadocを生成し、リリースでのみ使用してください。 – Ozyman

関連する問題