Details
-
Type:
New Feature
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 2.7
-
Fix Version/s: None
-
Labels:None
-
Number of attachments :
Description
I have the following artifacts
MyWar1.war depends on MyJar.jar and SomeThirdParty.jar
MyWar2.war depends on MyJar.jar
MyJar.jar also depends on SomeThirdParty.jar
Now I want to create an ear with MyWar1 and MyWar2, and I want to make them skinny wars so that MyJar.jar should not be included in both the wars.
For some reason, the SomeThirdParty.jar has to be in the WEB-INF/lib directory of MyWar1.war
Here is the structure I want:
MyEar.ear
- lib
- MyJar.jar
- SomeThirdParty.jar
- MyWar1.war
- WEB-INF/lib/SomeThirdParty.jar
- MyWar1.war
As you can see, I want the SomeThirdParty.jar in MyWar1 as well as in the lib directory.
Is there any way to achieve it if I am using <skinnyWars>true</skinnyWars>?
If not, we should have some way of doing this, maybe by supporting nested <dependencies> in the <webmodule> tag which would override the skinnyWars behavior for the listed dependencies like
<webModule>
<groupId>my.groupId</groupId>
<artifactId>my.artifactId</artifactId>
<dependencies>
<dependency>
<groupId>SomeThirdParty.jar.groupId</groupId>
<artifactId>SomeThirdParty.jar</artifactId>
<version>SomeThirdParty.jar.version</version>
</dependency>
</dependencies>
</webModule>
For MyWar1 you can use <packagingIncludes> to include only SomeThirdParty.jar, see
http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html
However, I don't see why you would want to have SomeThirdParty.jar in the lib folder of MyEar.