私は構造を持つマルチモジュールmavenプロジェクトを持っています
main/
core/
interface/
ここで、interfaceは、 coreによって生成されたアーティファクトに依存しています。
インターフェイスは正しくコンパイル、パッケージ化、およびインストールされます。ただし、インターフェイスでテストを実行すると、 coreで見つかった依存関係が解決されないために失敗します。
インターフェイスはcoreのテスト クラス自体に依存せず、コアpom.xml ファイルで定義されたスコープの maven 依存関係をコンパイルするだけです。
私は、必要なコア内のすべてのコンパイル依存関係宣言をインターフェイスpom.xmlにコピーし、それらすべてを提供するという、苦痛を伴う試みを 1 回行いました。
<scope>test</scope>
. これはテストには役立ちましたが、インストールが壊れました。
インターフェイスでこれらのテストの依存関係の解決を修正する最良の方法は何ですか?
インターフェイスmaven テスト ゴールの実行時に解決されないコンパイル スコープの依存関係の例を次に示します。
core/pom.xml の抜粋:
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${jsf-version}</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>${jsf-version}</version>
</dependency>
interface/pom.xml の抜粋:
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>