You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michal Ropka (JIRA)" <ji...@codehaus.org> on 2010/08/02 15:56:32 UTC

[jira] Commented: (MNG-4690) Transitive dependency lost when included another dependency

    [ http://jira.codehaus.org/browse/MNG-4690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=230581#action_230581 ] 

Michal Ropka commented on MNG-4690:
-----------------------------------

Hi,

I've realized that the test case is not complete as my struts-1.2.7 library is different than deployed in the central repository and it contains no dependencies (was deployed manually before an official release was there) so you couldn't reproduce the problem.

However the problem is still there. I've prepared quickly another example (test2.zip). After installing lib1 (version 1 and 2), lib2 and lib3 and running install in the top project you can see that there is no antlr library in ui/target WAR which is required for lib2 which is there.


Cheers,
Michal

> Transitive dependency lost when included another dependency
> -----------------------------------------------------------
>
>                 Key: MNG-4690
>                 URL: http://jira.codehaus.org/browse/MNG-4690
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>         Environment: maven 2.0.10 (tried with dependency plugin 2.0 and 2.1)
>            Reporter: Michal Ropka
>         Attachments: test.zip, test2.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