マルチモジュールの Maven プロジェクトがあります。この例のために、2 つのモジュールを考えます。
data
consumer
モジュールconsumer
にはモジュールdata
が依存関係にあります。
モジュールdata
は、一連のコア クラスを宣言します。それらを使用するテストがありsrc/test
ます。これらのテストではオブジェクトの作成に時間がかかるため、これらのオブジェクトを作成するためのいくつかのユーティリティ メソッドを含むクラスを作成します。このユーティリティ クラス ( SampleDataHelper
) はsrc/test
階層にあります。
consumer
モジュールには、これらの長いオブジェクトのいくつかを作成する必要があるいくつかのテストもあります。ツリーにあるテストでSampleDataHelper
クラス ( で定義)を使用したいと考えています。残念ながら、は に依存していますが、の下に存在するクラスは表示されません。data src/test
consumer src/test
data
consumer
consumer
data src/test
これに対抗するために、別のモジュール ( ) を作成し、 の下にdata-test
移動することを考えました。次に、テスト範囲の依存関係として. 残念ながら、これは循環依存を導入します。SampleDataHelper
src/main
data-test
data
data
data-test
data-test
data
私が思いついた唯一の解決策は、パッケージの下SampleDataHelper
に配置し、実際のアプリケーション コードがそれを呼び出さないようにすることです。data src/main
test
クラスを下に置かずSampleDataHelper
に、モジュール間でクラスを共有するにはどうすればよいですか?src/main