Details
Description
In our project(jpa-spring-wicket) we need to filter the web.xml file, changing some placeholder and putting it (the web.xml) in ${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml.
Using tomcat6-maven-plugin it find the correct file, but fail when parsing it:
<quote>
Caused by: java.lang.IllegalArgumentException: Duplicate context initialization parameter contextConfigLocation
at org.apache.catalina.core.StandardContext.addParameter(StandardContext.java:2661)
... 52 more
Mar 16, 2012 11:49:12 AM org.apache.catalina.startup.ContextConfig applicationWebConfig
SEVERE: Parse error in application web.xml file at jndi:/localhost/a2p/WEB-INF/web.xml
org.xml.sax.SAXParseException; systemId: jndi:/localhost/a2p/WEB-INF/web.xml; lineNumber: 15; columnNumber: 21; Error at (15, 21: Duplicate context initialization parameter contextConfigLocation
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2806)
</quote>
Using tomcat7-maven-plugin it find the correct file, but ignores it so using the original file which contain the ${placeholder}. Thus not initializing the application:
<quote>
INFO - ContextLoader - Root WebApplicationContext: initialization completed in 7808 ms
INFO - WebXmlFile - web.xml: url mapping found for filter with name A2P: [/*]
Mar 16, 2012 12:08:16 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter A2P
java.lang.IllegalArgumentException: Invalid configuration type: '${wicket.MODE}'. Must be "development" or "deployment".
at org.apache.wicket.protocol.http.WebApplication.getConfigurationType(WebApplication.java:670)
at org.apache.wicket.Application.configure(Application.java:297)
at org.apache.wicket.protocol.http.WebApplication.internalInit(WebApplication.java:613)
at org.apache.wicket.Application.initApplication(Application.java:806)
at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:346)
at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:286)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
</quote>
The plugin configuration:
<quote>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-beta-1</version>
<configuration>
<contextPath>${project.build.finalName}</contextPath>
<tomcatWebXml>${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml</tomcatWebXml>
</configuration>
</plugin>
</quote>
I have the jetty plugin setup as well and working, so I would try with tomcat but without success until now.
Regards