2

Maven ベースのマルチモジュール プロジェクトがあります。プロジェクトは、とEARを含むサブ展開を含むファイルです。には 2つが含まれており、2 つ目は にあります。のテスト ケースは、テスト ディレクトリから選択した場所で正常に実行されます (手動で除外します)。しかし、テストケースを実行すると、テストケースに失敗したメインディレクトリからインクルードされます。first-ejb.jarfirst-web.warfirst-ejb.jarpersistence.xmlsrc/main/resources/META-INF/persistence.xmlsrc/test/resources/META-INF/persistence.xmlfirst-ejb.jarpersistence.xmlpersistence.xmlmainfirst-web.warpersistence.xmlfirst-ejb.jar

したがって、私の質問は、モジュールのテストケースを実行persistence.xmlするときにテストディレクトリから含めるマルチモジュールプロジェクトの Maven でどのように言うかです。first-ejb.jarfirst-web.war

編集:

というわけで、のテスト実行時に使われているクラスパスを調べてみましたfirst-web.war。依存関係として含まれていることがわかりますfirst-ejb.jar(これは本番ビルドでは正しいです)。実際、これはモジュールのfromをfirst-web.war使用することになるため、モジュールのテストを台無しにしています。persistence.xmlsrc\main\resourcesfirst-ejb.jar

したがって、私がする必要があるのは、ディレクトリに含まれているもの以外のすべてをfirst-ejb.jar含む別のアーティファクトを宣言することだと思います。私はそれに名前を付けることができました。次に、プロファイルを介してテストを実行するために、このアーティファクトをプロジェクトの依存関係にすることができます。persistence.xmlsrc\main\resourcesfirst-ejb-test.jarfirst-web.warmaven

4

0 に答える 0