Maven WAR Plugin
  1. Maven WAR Plugin
  2. MWAR-8

Merge contents of dependent wars into war being built

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0
    • Component/s: None
    • Labels:
      None

      Description

      We added functionality to the maven-war-plugin to copy the contents of dependent wars into the war being built. It will never overwrite existing files and has configurable includes and excludes which are applied to the files being copied.

      Also made a minor change in getExcludes to not add the default excludes from FileUtils. The default excludes were already being added in the method getWarFiles( File sourceDir ) by scanner.addDefaultExcludes().

      We are trying to integrate Maven into our environment and not having this functionality was a show-stopper for us. We have applications that reuse jsps, and .tag files from a generic war that need to be included in all of our wars. We have also seen people request this functionality.

      By default these changes will have no effect, unless you have wars specified in your <dependencies>.

      Here is an example configuration that uses the includes and excludes for the dependent wars.

      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.0-beta-3-SNAPSHOT</version>
      <configuration>
      <!-- This is the default for dependentWarIncludes
      <dependentWarIncludes>**</dependentWarIncludes>
      -->
      <dependentWarExcludes>*/.properties</dependentWarExcludes>
      </configuration>
      </plugin>

      It will not overwrite existing files that are already in the war, the way to get around this is to remove the files you want overwritten using the standard excludes configuration. For example, the following configuration would allow the overwriteme.jar to be overwritten by something in a dependent war.

      <configuration>
      <excludes>WEB-INF/lib/overwriteme.jar</excludes>
      </configuration>

        Activity

        David Hawkins created issue -
        David Hawkins made changes -
        Field Original Value New Value
        Attachment MNG-1507-maven-war-plugin.patch [ 17509 ]
        Hide
        Emmanuel Venisse added a comment -

        Applied

        Show
        Emmanuel Venisse added a comment - Applied
        Emmanuel Venisse made changes -
        Assignee Emmanuel Venisse [ evenisse ]
        Resolution Fixed [ 1 ]
        Fix Version/s 2.0.1 [ 12000 ]
        Status Open [ 1 ] Closed [ 6 ]
        Maria Odea Ching made changes -
        Project Maven 2 [ 10500 ] Maven 2.x War Plugin [ 11150 ]
        Affects Version/s 2.0 [ 11703 ]
        Fix Version/s 2.0.1 [ 12000 ]
        Component/s maven-war-plugin [ 11796 ]
        Key MNG-1507 MWAR-8
        Workflow Maven [ 41833 ] jira [ 44176 ]
        Stephane Nicoll made changes -
        Resolution Fixed [ 1 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Stephane Nicoll made changes -
        Status Reopened [ 4 ] Closed [ 6 ]
        Fix Version/s 2.0 [ 12160 ]
        Resolution Fixed [ 1 ]
        Jason van Zyl made changes -
        Workflow jira [ 44176 ] Maven [ 45123 ]
        Brett Porter made changes -
        Workflow Maven [ 45123 ] Maven New [ 52459 ]
        Mark Thomas made changes -
        Project Import Sun Apr 05 13:28:45 UTC 2015 [ 1428240525159 ]
        Mark Thomas made changes -
        Workflow jira [ 12728428 ] Default workflow, editable Closed status [ 12765060 ]
        Mark Thomas made changes -
        Project Import Mon Apr 06 01:49:55 UTC 2015 [ 1428284995525 ]
        Mark Thomas made changes -
        Workflow jira [ 12966328 ] Default workflow, editable Closed status [ 13002443 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        13d 17h 3m 1 Emmanuel Venisse 24/Nov/05 08:31
        Closed Closed Reopened Reopened
        29d 1h 40m 1 Stephane Nicoll 23/Dec/05 10:12
        Reopened Reopened Closed Closed
        18s 1 Stephane Nicoll 23/Dec/05 10:12

          People

          • Assignee:
            Emmanuel Venisse
            Reporter:
            David Hawkins
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development