maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Lance (JIRA)" <j...@codehaus.org>
Subject [jira] Updated: (MWAR-111) Transitive dependencies of optional dependencies are included in WEB-INF/lib
Date Thu, 02 Aug 2007 17:45:13 GMT

     [ http://jira.codehaus.org/browse/MWAR-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chris Lance updated MWAR-111:
-----------------------------

    Attachment: AbstractWarMojo.java

This is a quick patch I put together against the trunk for this issue. Forgive my ignorance
if there was an easier way to code it :-)

> Transitive dependencies of optional dependencies are included in WEB-INF/lib
> ----------------------------------------------------------------------------
>
>                 Key: MWAR-111
>                 URL: http://jira.codehaus.org/browse/MWAR-111
>             Project: Maven 2.x 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, 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 is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message