Исключить servlet-api из области тестирования Maven

У меня есть следующая зависимость в моем pom.xml, так что моя IDE (IntelliJ) имеет классы servlet-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 для компиляции моего кода. Каков наилучший способ решить эту проблему, можно ли исключить эту зависимость для области тестирования?

15
задан bakoyaro 18 December 2012 в 18:34
поделиться