У меня есть проект, который используется в качестве базы для ряда различных веб-приложений. Я пытаюсь запустить его в «тестовом» режиме с помощью плагина jetty-maven.
Проект представляет собой многомодульный проект. Фильтр находится в другом модуле, который является зависимостью от модуля, который я пытаюсь запустить, и указывается следующим образом:
<dependency>
<groupId>my.example.test</groupId>
<artifactId>test</artifactId>
<version>X.X.X</version>
<scope>test</scope>
</dependency>
Затем класс фильтра из этой зависимости добавляется как фильтр в web.xml:
<filter>
<filter-name>test</filter-name>
<filter-class>my.example.test.test.TestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>test</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Наконец, проект запускается через вызов плагина jetty-maven (mvn jetty:run-forked
), который настроен следующим образом:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.2.v20140723</version>
<configuration>
<webApp>
<contextPath>/test</contextPath>
<descriptor>src/test/webapp/WEB-INF/web.xml</descriptor>
</webApp>
<useTestScope>true</useTestScope>
<jvmArgs>some arguments</jvmArgs>
<jettyXml>jetty.xml,jetty-ssl.xml,jetty-https.xml</jettyXml>
<stopKey>stopJetty</stopKey>
<stopPort>12345</stopPort>
</configuration>
</plugin>
Проект запускается и отображает файл index.html, но фильтр никогда не применяется ни к одному запросу. Можно ли запустить приложение тестовой области так, как я его настроил? Что еще я мог упустить?