You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Karl Heinz Marbaise (JIRA)" <ji...@apache.org> on 2016/02/15 08:47:18 UTC
[jira] [Commented] (MWAR-360) Overlay: ignore WAR which is
transitively dependent over JAR
[ https://issues.apache.org/jira/browse/MWAR-360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15147024#comment-15147024 ]
Karl Heinz Marbaise commented on MWAR-360:
------------------------------------------
The simplest solution is to use the correctly created {{-classes}} artifact instead of the {{war}} artifact. May be you can show an example projects which shows the current state...
> 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
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)