[ https://jira.codehaus.org/browse/MNG-4513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Benedict updated MNG-4513: ------------------------------- Fix Version/s: (was: Issues to be reviewed for 3.x) > Add "additions"/"depedencies" to "dependency" element in > "dependencyManagement". > -------------------------------------------------------------------------------- > > Key: MNG-4513 > URL: https://jira.codehaus.org/browse/MNG-4513 > Project: Maven > Issue Type: New Feature > Components: Dependencies > Affects Versions: 2.2.1 > Reporter: Maarten Billemont > > Quite often we need ugly hacks in our poms because of broken dependencies in > artifacts we depend on. > For example, org.apache.ws.security:wss4j depends on xalan:xalan, but that > dependency is outdated or badly maintained (not sure now, but irrelevant); so > we need to exclude it and replace it with org.apache.xalan:xalan. Only; we > can't do this from our dependencyManagement section for all our project > modules, no, we can exclude xalan:xalan, but for EACH module that uses wss4j, > we need to MANUALLY specify the dependency on org.apache.xalan:xalan; even > though this SHOULD be a transitional dependency from wss4j. This is dirty > and causes unacceptable bugs and maintenance when artifact dependencies > change or artifacts are distributed to third parties. > To fix this, we need to either host our own fixed version of wss4j, or Maven > would have to introduce a method of doing BOTH the exclusion of xalan:xalan > AND the addition of org.apache.xalan:xalan to the wss4j artifact from the > dependencyManagement section. Personally; I'm not sure it makes much sense > supporting only one of the two. > In this example, I'd like to see the following in my project's parent pom: > <dependencyManagement> > <dependencies> > <dependency> > <groupId>org.apache.ws.security</groupId> > <artifactId>wss4j</artifactId> > <version>${wss4j.version}</version> > <exclusions> > <!-- We use org.apache.* instead --> > <exclusion> > <groupId>xalan</groupId> > <artifactId>xalan</artifactId> > </exclusion> > <exclusion> > <groupId>xerces</groupId> > <artifactId>xercesImpl</artifactId> > </exclusion> > <exclusion> > <groupId>xml-security</groupId> > <artifactId>xmlsec</artifactId> > </exclusion> > <exclusion> > <groupId>xml-apis</groupId> > <artifactId>xml-apis</artifactId> > </exclusion> > </exclusions> > <dependencies> > <dependency> > <groupId>org.apache.xalan</groupId> > <artifactId>xalan</artifactId> > <version>${xalan.version}</version> > </dependency> > <dependency> > <groupId>org.apache.xerces</groupId> > <artifactId>xercesImpl</artifactId> > <version>${xercesImpl.version}</version> > </dependency> > <dependency> > <groupId>org.apache.santuario</groupId> > <artifactId>xmlsec</artifactId> > <version>${xmlsec.version}</version> > </dependency> > <dependency> > <groupId>org.apache.santuario</groupId> > <artifactId>xmlsec</artifactId> > <version>${xmlsec.version}</version> > </dependency> > </dependencies> > </dependency> > </dependencies> > </dependencyManagement> -- This message was sent by Atlassian JIRA (v6.1.6#6162)