[ https://issues.apache.org/jira/browse/MWAR-360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16999105#comment-16999105 ]
Elliotte Rusty Harold commented on MWAR-360: -------------------------------------------- If this makes sense, it should be unconditionally, not as a configuration option. > Overlay: ignore WAR which is transitively dependent over JAR > ------------------------------------------------------------ > > Key: MWAR-360 > URL: https://issues.apache.org/jira/browse/MWAR-360 > Project: Maven WAR Plugin > Issue Type: Improvement > Reporter: Michal Domagala > Priority: Minor > > Example: > I have WAR project 'Base' with class A. > I have WAR project 'Level1' which is depends on 'Base'. 'Level1' has class B > extends A. > Then 'Base' must have <attachClasses>true</attachClasses> > Finally, I have WAR project 'Level2' with class C extends B. For the same > reason 'Level1' must have <attachClasses>true</attachClasses> > Expected: when Level2 WAR is build, only Level1 WAR is overlayed, because > Level1 contains Base > Actual: Level1 and Base are overlayed together. That wastes time. > {noformat} > [INFO] Copying webapp resources [mwar/Level2/src/main/webapp] > [INFO] Processing overlay [ id mwar:Level1] > [INFO] Processing overlay [ id Base:Base] > [INFO] Webapp assembled in [26 msecs] > {noformat} > Reason: Level1 classes JAR has dependency to Base WAR, but that dependency is > "fake" > {noformat} > [INFO] mwar:Level2:war:0.0.1-SNAPSHOT > [INFO] +- mwar:Level1:war:0.0.1-SNAPSHOT:compile > [INFO] \- mwar:Level1:jar:classes:0.0.1-SNAPSHOT:compile > [INFO] +- Base:Base:war:0.0.1-SNAPSHOT:compile > [INFO] \- Base:Base:jar:classes:0.0.1-SNAPSHOT:compile > {noformat} > Proposed solution: There should be option 'notOverlayTransitiveWar' which > allow exclude WARs like 'Base' from overlaying, because the transitive WAR > may be reached only over JAR and I think there is no reason any JAR really > depends on WAR. > Workaround is manually define ovelays in plugin configuration, but Maven > spirit is Convention over Configuration > h2. example > # git clone https://github.com/michaldo/mwar360.git > # cd mwar360 > # mvn package -- This message was sent by Atlassian Jira (v8.3.4#803005)