Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.1.1
-
None
-
None
-
Patch
Description
There are a number of bugs raised around support for WAR overlays:
MWAR-73 - war overlay mechanism does not work for classes
MWAR-253 - Inherit dependencies from a WAR type dependency when it is overlayed.
MWAR-194 - Warn when inconsistent jar versions are detected during overlay
MWAR-220 - dependencyManagement && overlay + transitive dependency = multiple versions of same dependency in WEB-INF/lib
MWAR-33 - jars with differents versions can be in WEB-INF/lib with war as dependencies
MWAR-360 - Overlay: ignore WAR which is transitively dependent over JAR
Most of these relate to the fact that overlays are not treated as normal maven dependencies.
The code in https://github.com/SciSysUK/maven-plugins/tree/waroverlay introduces a new packaging type of "war-overlay", that works in the following way:
- The primary artifact is a jar containing the classes from the overlay
- Another artifact is attached containing the web content
- A dependency on a war-overlay will automatically pull both artifacts into the packaged war
To use the new type all you need to do is declare <extensions>true</extensions> on the maven-war-plugin. There is an integration test example here: https://github.com/SciSysUK/maven-plugins/tree/waroverlay/maven-war-plugin/src/it/war-overlay.
If someone could review the code I could create a patch and update the site documentation.