Eclipse + Tomcat + Maven + фильтрованный шаблон web.xml url, namingException
Я использую Maven для фильтрации (помимо прочего) моего web.xml следующим образом:
В web.xml:
> <filter-mapping>
> <filter-name>CAS Authentication Filter</filter-name>
> <url-pattern>
> ${cas.filter.pattern}
> </url-pattern> </filter-mapping>
в pom.xml:
<profile>
<id>test</id>
<properties>
<cas.filter.pattern>/blank/*</cas.filter.pattern>
</properties>
</profile>
....
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<configuration>
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
</configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>**/META-INF/context.xml</include>
</includes>
</resource>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<includes>
<include>web.xml</include>
</includes>
</resource>
</webResources>
<webXml>src/main/resources/web.xml</webXml>
</configuration>
</plugin>
Когда я собираю с использованием командной строки и развертываю на автономную версию Tomcat 7.0.0.28, она развертывается нормально и работает.
Однако при развертывании в Eclipse я получаю исключение NamingException:
WARNING: Failed to retrieve JNDI naming context for container
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/XXXX]] so no cleanup was performed for that container
javax.naming.NamingException: No naming context bound to this class loader
at org.apache.naming.ContextBindings.getClassLoader(ContextBindings.java:352)
at org.apache.catalina.deploy.NamingResources.cleanUp(NamingResources.java:987)
at org.apache.catalina.deploy.NamingResources.stopInternal(NamingResources.java:970)
Я не уверен, как решить эту проблему. Мне действительно нужно иметь возможность обходить определенные фильтры при создании / развертывании определенных профилей (например, разработки) - и включать их при сборке / развертывании для других сред. Я отфильтровал свойства во многих других файлах, которые работали успешно.
В качестве теста я жестко запрограммировал шаблон URL, который определен в списке свойств фильтра, и он отлично работает в Eclipse/Tomcat. Однако, если я оставлю его с именем свойства (как показано выше), произойдет сбой.
Есть идеи?