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

Brett Porter closed MNG-3490.
-----------------------------

    Resolution: Duplicate

> Foo 2.0 obsoletes Bar 1.0
> -------------------------
>
>                 Key: MNG-3490
>                 URL: http://jira.codehaus.org/browse/MNG-3490
>             Project: Maven 2
>          Issue Type: Improvement
>          Components: Dependencies
>    Affects Versions: 2.0.8
>            Reporter: Andreas Krüger
>
> I would like to be able to say, in a high-level POM:
> "Whenever Foo.jar is in a dependency tree in version 2.0 or above, Bar.jar 
> version 1.0 or below should not also be in that same dependency tree."
> Background:
> * There once was Foo, version 1.0.
> * Then came along the Bar extension, also version 1.0, to be used alongside 
> Foo 1.0.
> * Later, a new version 2.0 of Foo was released, that included the Bar 
> functionality (also updated); so Foo 2.0 made Bar 1.0 obsolete.
> Presently, Maven will happily provide Bar 1.0 alongside with Foo 2.0, thus 
> ushering us into JAR hell. It is then up to JAR lottery which of Bar 1.0 or 
> Foo 2.0's Bar we actually get.
> What I want is a way to fix this in my own top-level POM, in dependency 
> management.
> "If I have Foo 2.0, never even think of including Bar 1.0 also."
> Present workaround:
> * Analyze all low-level POMs.
> * Most use Foo 1.0, leave those alone. (Unfortunately, Foo 2.0 is not without 
> issues.)
> * Find the few that do use Foo 2.0.
> * Figure out all transitive dependencies of such a POM that pull in Bar 1.0.
> * Apply <exclude> to those.
> Regards, and thank you for providing fine software,
> Andreas

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