You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Thorsten Glaser (JIRA)" <ji...@apache.org> on 2019/07/24 18:16:00 UTC

[jira] [Created] (MNG-6724) Ability to exchange dependencies

Thorsten Glaser created MNG-6724:
------------------------------------

             Summary: Ability to exchange dependencies
                 Key: MNG-6724
                 URL: https://issues.apache.org/jira/browse/MNG-6724
             Project: Maven
          Issue Type: New Feature
            Reporter: Thorsten Glaser


Feature Request: I would like to have the explicit ability to exchange dependencies globally, such as from dependencyManagement.

Currently, I can do <excludes> on a dependency’’s transitive dependency, then add an explicit <dependency> to the POM of my final WAR (and possibly a test-scoped one on the JAR it’s in), but that makes the maven-dependency-plugin:3.1.1:analyze-only goal complain about a declared but unused dependency.

With the javax.* → jakarta moves (and some others, e.g. I need the com.sun.activation version of jakarta.activation instead of the Jakarta one) and multiple JAXB implementations around, this is becoming troublesome.

Therefore, I would like for Maven to allow something like this:
{code:java}
<dependencyManagement>
 <substitutions>
  <substitution>
   <exclusion>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
   </exclusion>
   <dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
   </dependency>
  </substitution>
  <!-- … -->
 </substitutions>
 <dependencies>
  <dependency>
   <groupId>jakarta.xml.bind</groupId>
   <artifactId>jakarta.xml.bind-api</artifactId>
   <version>${jaxb-api.version}</version>
  </dependency>
  <!-- … -->
 </dependencies>
</dependencyManagement>
{code}
This would recursively replace the old JAXB-API with the new one but not add them where unnecessary, and make the maven-dependency-plugin’s checks do the right thing.

Thanks in advance for consideration!



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)