Uploaded image for project: 'Apache Tomcat Maven Plugin'
  1. Apache Tomcat Maven Plugin
  2. MTOMCAT-128

The plugin ignores and/or parses web.xml incorrectally when using tomcatWebXml option

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Trivial
    • Resolution: Fixed
    • 2.0-beta-1
    • 2.1
    • tomcat6, tomcat7
    • None
    • openSUSE 12.1 32Bits

    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

      Attachments

        1. myproject.zip
          24 kB
          Gilberto C Andrade

        Activity

          People

            olamy Olivier Lamy
            gilbertoca Gilberto C Andrade
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: