0

私は3つのモジュールA、B、Cを持っています。AはBにコンパイル/デフォルトの依存関係があり、BはCにテストの依存関係があり、CはAにコンパイル/デフォルトの依存関係があります。

Maven はこれをサイクルとして検出しますが、B のテスト (非テスト コードではない) のみが C に依存しており、C も A も B のテストに依存していません。

Maven がまだこれをサイクルとして検出する理由はありますか? それを解決する方法はありますか?

4

1 に答える 1

0

プロジェクトの 1 つを API と実装に分割できます。

B-api プロジェクトを作成できます。コンパイルのために A を B-api にリンクします。必要に応じて、ランタイム依存関係として B を追加できます。これで、ループから抜け出すことができます。

B-api プロジェクトは、B によって実装されるインターフェイスを提供する必要があります。インターフェイスに対してコーディングし、実行時に実装に対して配線します。

于 2013-02-12T20:37:44.560 に答える