4

私のプロジェクトでは(A,B)、共通モジュールに依存する2 つのモジュールがありますCA,Bリポジトリ構成、プラグイン構成などの共通構成を共有したい。これを実現するためにC、親 pom を作成し、それをA,B 継承します (集約は必要ないため、C参照しませんA,B) 。

ただし、Cそれ自体には、単体テストとともに、いくつかの Java コードが含まれています。今、mvn test内部で実行してCも何も実行されません。おそらく、pomパッケージ化されたモジュールにはコードを含めるべきではありません。

上記の構成はひどく欠陥がありますか? 1 つが既に存在する場合でも、さらに別の一般的なpom を導入する必要がありますか?

4

1 に答える 1

3

Mavenプロジェクトの非常に典型的なパターンは、共通のMaven固有の構成、プロファイル、プロパティ、依存関係バージョンなどを保持する「親」という名前のモジュールを持つことです。これがMaven Way(TM)です。

構造は次のようになります。

|-- parent
|-- common
|-- module-a
|-- module-b

したがって、common、module-aおよびmodule-bはそれぞれ親に依存し、module-aおよびmodule-bはcommonに依存します。

この優れたリソースを参照してください:http: //www.sonatype.com/books/mvnex-book/reference/multimodule-web-spring.html

「親」は、ディレクトリ構造の観点から、その子モジュールの兄弟である可能性があることに注意してください。ディレクトリ構造の階層がモジュールの階層と一致している必要はありません。

于 2012-09-26T16:47:41.007 に答える