3つのモジュール(api、dictionary、webapp)を含む "framework-ws"プロジェクトがあります。 このプロジェクトは、複数の他のWebサービスプロジェクトの親プロジェクトを使用しています。maven pom.xmlのどのスコープを使うか
たとえば、プロジェクト "core-ws"には、親に対して "framework-ws"があります。また、3つのモジュール(api、辞書、webapp)が含まれています。 これらのモジュールのそれぞれは、依存関係としてフレームワークを持っています。
- コアWS-API =>フレームワークWS-API
- コアWS-辞書=>フレームワークWS-辞書
- コアWS-Webアプリケーション=>フレームワークWS-Webアプリケーション
- (サブプロジェクト=>依存関係)
私は他の依存関係(例えば、lombok)をすべてのプロジェクト(フレームワーク+子プロジェクト)で使用しています。
この依存関係をどこに宣言する必要があるのか分かりません。ノースコープを持つ親プロジェクトでスコープなしの「提供」スコープを持つ親プロジェクトでは、各 子プロジェクトで
- 、および各 子プロジェクトで依存関係のない
- 別私が考えなかったソリューション
2番目の解決策は、各pom.xmlの依存関係を複製する必要がないため、より洗練されているようです。しかし、それがベストプラクティスかどうかはわかりません。
編集:ここにプロジェクトの構造の写真があります。あなたの親のポンポンで
ありがとう、それは私の問題の一部を解決します。依存関係管理はまさに私がコードを複製しないために必要なものです。 "提供された"スコープが有用なときはまだ分かりません。多分私は自分のプロジェクトには必要ないかもしれません。私はこの範囲についての詳細情報を検索します。 – YLombardi
何かに対してコンパイルしたいが、何か他のものを許可したい場合、通常はサーバが実装を「提供」する。明白な例はサーブレットAPIです。 –