私はいくつかの独立したプロジェクトを持っています (それらは同じ親を持っていません) が、同じライブラリ セットを使用しています。例えば
- プロジェクトA
- プロジェクトB
- プロジェクトC
これらのプロジェクトはすべて、Spring、Postgres、Hibrenate、Tomcat を使用しています。私がやりたいことは、次の行に沿って依存関係の名前付きコレクションの概念を導入することです。
- TSHP 1.0 - tomcat 6.0.35、Spring 3.0.7、Hibernate 3.6.8 ... などで構成される場合があります
- TSHP 2.0 - tomcat 7.0.32、Spring 3.1.2、Hibernate 4.1.7 などで構成される場合があります。
プロジェクト A は TSHP 1.0 に依存している、プロジェクト B は TSHP 2.0 に依存している、などのようなことを言いたいと思います。このタイプのセットアップの値は次のとおりです。
- 会社のグループとして使用される共通ライブラリのセットを標準化するのは簡単なので、プロジェクト全体の監査は簡単です。依存関係の名前付きグループを使用する
- 名前付きグループに単一の依存関係を含めるだけで、そのタイプのアプリケーションに必要なすべてを取得できるため、標準クラスパスを使用して新しいプロジェクトを開始するのは非常に簡単です。名前付きクラスパス内の jar は、相互にうまく機能します。
このタイプのセットアップは maven3 で実行できますか? もしそうなら、どのように?
更新:親の pom セットアップで見られる問題は、POM の親は 1 つしか存在できないことですが、次のように、標準の名前付きクラスパスがいくつかある可能性があります。
- WEB_SECURITY - 一般的な Web セキュリティの問題から保護するために使用される jar のコレクションである可能性があるため、Web アプリには TSHP + WEB_SECURITY が含まれ、バッチ アプリには TSHP のみが含まれる場合があります。コンポジションは継承よりも優れており、はるかに柔軟です。