[ http://jira.codehaus.org/browse/MNG-3696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brett Porter closed MNG-3696. ----------------------------- Resolution: Won't Fix unless I misunderstand what you're saying, simply declaring the "inclusion" in dependency management as another dependency and omitting the exclusion will do what you need > Add explicit transitive dependencies in dependencyManagement section of > pom.xml > ------------------------------------------------------------------------------- > > Key: MNG-3696 > URL: http://jira.codehaus.org/browse/MNG-3696 > Project: Maven 2 > Issue Type: New Feature > Components: Dependencies > Affects Versions: 2.0.9 > Reporter: Joel Turkel > > Transitive dependencies cause lots of headaches and require a fair amount of > manual intervention to fix conflicts. It is common to see a pom with the > following scenario: > <dependencyManagement> > <dependencies> > <!-- Must manually include com.other.common when using > com.sample.foo --> > <dependency> > <groupId>com.sample</groupId> > <artifactId>foo</artifactId> > <version>1</version> > <exclusions> > <!-- com.sample.foo includes old version 1 of > com.other.common --> > <exclusion> > <groupId>com.other</groupId> > <artifactId>common</artifactId> > </exclusion> > </exclusions> > </dependency> > <dependency> > <groupId>com.other</groupId> > <artifactId>common</artifactId> > <version>2</version> > </dependency> > <dependency> > <groupId>com.sample</groupId> > <artifactId>bar</artifactId> > <version>3</version> > <!-- com.sample.foo includes version 2 of > com.other.common --> > </dependency> > </dependencies> > </dependencyManagement> > This is problematic because descendant poms must manually include the > com.other.common dependency when including the com.sample.foo dependency. The > word around is creating separate pom projects to manage the dependencies, but > this doesn't do a great job of expressing intent, leads to a proliferation of > projects, and makes dependency management more difficult since it's scattered > over multiple poms. > Ideally users should be allowed to specify inclusions in the dependency > management section of the pom e.g. something like: > <dependencyManagement> > <dependencies> > <dependency> > <groupId>com.sample</groupId> > <artifactId>foo</artifactId> > <version>1</version> > <!-- com.sample.foo includes old version 1 of > com.other.common --> > <exclusions> > <exclusion> > <groupId>com.other</groupId> > <artifactId>common</artifactId> > </exclusion> > </exclusions> > <inclusions> > <inclusion> > <groupId>com.other</groupId> > <artifactId>common</artifactId> > <version>2</version> > </inclusion> > </inclusions> > </dependency> > <dependency> > <groupId>com.sample</groupId> > <artifactId>bar</artifactId> > <version>3</version> > <!-- com.sample.foo includes version 2 of > com.other.common --> > </dependency> > </dependencies> > </dependencyManagement> > -- 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