0

状況は次のとおりです。

モジュールPARENTに依存するモジュールKIDの2つのモジュールがあります。クラスの実装をテストするために KID で使用できる PARENT にテスト クラスがあります。

そのために、次の依存関係を追加しました。

    <dependency>
        <groupId>myGroup</groupId>
        <artifactId>PARENT</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
    </dependency>

Maven を使用すると、テストは正常に実行されます。

Intellij を使用すると (Java テスト フォルダーを右クリックし、KID の「すべてのテスト」を実行します)、NoClassDefFoundError が発生します。問題は、両方のモジュールのテストが実行されていることですが、子供の依存関係しか使用していません。

プロジェクト PARENT には、 KID で必要のない依存関係があります。

    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.8</version>
        <scope>provided</scope>
    </dependency>

スコープを test ではなく provided に設定すると問題は解決しますが、メイン コードでテスト コードを使用できるようになります。

私は何かを逃したかもしれませんか?これはバグですか?

4

1 に答える 1