13

そのような質問を探しても何も見つからなかったので、ここに行きます。

マルチモジュールのmavenプロジェクトがあります。複数のモジュールはすべて、共通の依存関係が定義されている同じ親を継承します。その中には、いくつかの共通機能が実装されている「共通」モジュールという、独自のモジュールが 1 つあります。

私の質問は次のとおりです:一般的な依存関係のより良いプラクティスは何ですか:私が現在行っているように、それらをすべて親で明示的に定義しますか? または、他のモジュールが参照する「共通」モジュールでそれらを定義し、推移性に依存しますか (共通の依存関係の単一エントリポイントのように)?

4

2 に答える 2

17

親 pom で dependencyManagement タグを使用して依存関係とそのバージョンを定義し、必要に応じてサブモジュールでこれらの依存関係を参照することをお勧めします。プロジェクトで他のサブモジュール (つまり、別のサブモジュールからの共通のサブモジュール) が必要な場合、依存関係は推移的に検出されます。例えば:

親ポンで:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.7</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

あなたの一般的なpomで(バージョンやスコープがないことに注意してください):

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
  </dependency>
</dependencies>

そして、他のサブモジュールから共通のサブモジュールを参照することができます。

于 2011-07-26T16:57:47.143 に答える
0

私は2つの合理的なオプションを見ることができます:

2番目のオプションは、複数のモジュールが、多数の独自の依存関係を持つコンポーネントの同じ大きなスタックに依存している場合に役立ちます。

于 2011-07-26T17:16:20.780 に答える