私は自分の pom.xml に次の依存関係を持っているので、私の IDE (IntelliJ) はコンパイル中に使用できるサーブレット API クラスを持ちますが、ビルドでは提供されません。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
しかし、提供されたスコープは、テストスコープで実行するときに、この依存関係のクラスをクラスパスに追加します。これは、プログラムで開始する Jetty の問題です。すでにライブラリにあるので、
java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package
この依存関係を削除すると、Jetty サーバーはテスト スコープで正しく起動しますが、IntelliJ がコードをコンパイルするにはこの依存関係が必要です。これを解決する最善の方法は何ですか? テスト範囲からこの依存関係を除外する方法はありますか?