Transitive dependency lost when included another dependency
-----------------------------------------------------------

                 Key: MDEP-202
                 URL: http://jira.codehaus.org/browse/MDEP-202
             Project: Maven 2.x Dependency Plugin
          Issue Type: Bug
          Components: resolve
    Affects Versions: 2.1
         Environment: maven 2.0.10 (tried with dependency plugin 2.0 and 2.1)
            Reporter: Michal Ropka
            Assignee: Brian Fox
         Attachments: test.zip

*We added a new dependency (_velocity-tools_) and the project didn't work any 
more. We've found that one transitive library (_antlr_ used by _struts_ and 
_hibernate_) is missing in the installed WAR file.*

It looks like the _antlr_ transitive dependency is ignored from _hibernate_ 
dependencies by plugin choosing _struts-1.2.9_ one while eventually _struts_ is 
replaced by _1.2.7_ version which does not have _antlr_ dependency.

There is a workaround to the problem - dependencies might be rearranged to 
include the missing library back (e.g. by moving _struts-1.2.7_ from _parent_ 
to _ui_ but only before _velocity-tools_ - see the test case) however the 
problem is that the plugin behavior is unpredictable.

*Test case:*
There are root, parent, common, model, ui POM files. The purpose is to create 
dependency tree deep enough (_ui_ depends on _model_ and inherits from 
_parent_, _model_ depends on _common_). They include external dependencies 
(_velocity-tools_, _struts_, _hibernate_).
* WAR artifact created from the root or _ui_ POM does not contain _antlr_ in 
WEB-INF/lib which is required by _hibernate_
* after removing _velocity-tools_ from ui/pom.xml _antlr_ library is included 
properly


-- 
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

        

Reply via email to