2012-01-18 8 views
6

プロジェクトAがあり、プロジェクトBのすべての依存関係が必要な場合は、プロジェクトBの継承またはプロジェクトAの依存関係を使用して、プロジェクトBの親をプロジェクトAの親として宣言しますか?彼らは同じ効果を持っているようです。依存関係または親として宣言する

プロジェクトBが 「ユニバーサル親」としての役割を果たすかsomesuchするを目的としている場合、私は言うだろう

答えて

6

2つのアプローチは異なります.1つは継承であり、もう1つは単純な依存関係です。あなただけのプラグイン、建物モデル、リポジトリ、依存関係の管理、依存関係などの設定を継承します親プロジェクトとして使用することにより、プロジェクトB.

のバイナリ推移依存関係を持っています依存することで

それで、それは事件に依存します。

私の経験則はscm構成、プロジェクト構成、開発または企業標準のためのものですが、私は親プロジェクト(継承)を使用します。

8

- つまり、出発同じ依存関係を持つ多くプロジェクトのためのポイント(またはその依存関係のため、同じ出発点と)次に右に進み、Bをparentにします。

それ以外の場合は、「持っている便利なもの」の実際にはもっとだ場合 - 例えばそれは、プロジェクトの多くが有用を見つけるユーティリティ/コア型のメソッドを持っているが、は彼らの存在そのもののために依存しません、それは論理的には依存関係です。

プロジェクトBを2行に分割することも考えられます。それは私が過去にやったものだ:

mygroup-parentは、単に私がが一つ一つのプロジェクトを取得したいの依存関係を持つPOMファイルで構成されたプロジェクトである - 標準的なアプローチを強制します。たとえば、TestNGMockitoがそこにあります。

mygroup-coreは、便利なものがの便利なものですが、必須ではありません。私は自分のサイトに固有のものや、Apache HttpClientやGoogle Guavaのような依存関係のヘルパーメソッドを持っています。

関連する問題