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