Web サービス用の Maven POM ファイルがあります。依存関係の 1 つとして、Web アプリケーション サーバーの上位レベルに既に保持されている jar ファイルに対していくつかの除外を指定する必要があります (この特定の Web アプリケーションだけでなく、すべての Web アプリケーションからアクセス可能です)。そのような除外の一例は、私の JDBC ドライバーを含む JAR です。
例 (架空の詳細):
<dependency>
<groupId>mygroup</groupId>
<artifactId>myartifact</artifactId>
<version>1.0.0</version>
<exclusions>
<!--The jdbc driver causes hot-deployment issues-->
<exclusion>
<groupId>db.drivers</groupId>
<artifactId>jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
私が直面している問題は、テストに JDBC ドライバーが必要なことです。JDBC ドライバーを読み込めないため、私のテストは現在失敗しています。
除外されたパーツがテストでアクセスできるように POM を構成するにはどうすればよいですか? ただし、WAR ファイルには含まれません。
更新: mygroup.myartifact の POM を変更することはできません。これは、他の多くのプロジェクトに依存しているためです。この除外要件は私のプロジェクトに固有のものです。
更新 2:この質問の言い回しがうまくいかなかったようです。以下の Lars のソリューションは、(例が示すように) 1 つの除外に最適ですが、実際のシナリオでは複数の除外があり、それぞれに追加の依存関係を追加するのは面倒です。うまくいくと思われる解決策は、表示された依存関係のスコープをコンパイルに設定し、次に同じアーティファクト (mygroup.myartifact) の 2 つ目の依存関係を除外せずに作成し、スコープをtestに設定することです。Lars は私の表現が下手な質問に正しく答えただけでなく、実際の解決策の方向に導いてくれたので、彼の返事を答えとしてマークします。