[ https://jira.codehaus.org/browse/MWAR-111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=342718#comment-342718 ]
Roman Arkadijovych Muntyanu edited comment on MWAR-111 at 3/10/14 3:49 PM: --------------------------------------------------------------------------- This issue might be related to MNG-5255 (which was closed as wont fix for Maven core). There's a test project in there demonstrating maven-war issue was (Author: coldserenity): This issue might be related to MNG-5255 (which was closed as wont fix for Maven core). > Transitive dependencies of optional dependencies are included in WEB-INF/lib > ---------------------------------------------------------------------------- > > Key: MWAR-111 > URL: https://jira.codehaus.org/browse/MWAR-111 > Project: Maven WAR Plugin > Issue Type: Bug > Affects Versions: 2.0.2 > Environment: Maven 2.0.7, JDK 1.6.0_01-b06, JavaEE 5 > Reporter: Chris Lance > Attachments: AbstractWarMojo.java, MWAR-111.patch, TestProject.zip > > > I have an EAR project (TestEAR) which contains two modules: > 1. A JAR module (TestJAR) which has one dependency: commons-lang 2.3 > 2. A WAR module (TestWAR) which uses [these > instructions|http://maven.apache.org/plugins/maven-war-plugin/examples/war-manifest-guide.html] > to declare a dependency on TestJAR so that TestJAR is included in TestWAR's > manifest classpath, but not copied into WEB-INF/lib (i.e. declares the > dependency optional). > This works fine for TestJAR itself, but its transitive dependency > (commons-lang 2.3) is still copied into WEB-INF/lib. I don't believe this is > the correct behavior since all dependencies of a JAR packaged in the EAR must > also be packaged in the EAR. So, all a WAR should have to do is put the > transitive dependencies in its manifest classpath to inherit them. Basically: > in a WAR, transitive dependencies of "optional" dependencies should inherit > the "optional" flag. > I have included a simple test project as an example. Unzip, cd TestProject, > and mvn install. Look in TestEAR's target dir and you will see that > commons-lang is included in the EAR. Then look in TestWAR's target dir and > you will see that commons-lang is also included in both the manifest > classpath and the WEB-INF/lib dir. -- This message was sent by Atlassian JIRA (v6.1.6#6162)