Details
Description
I depend on some libraries, which in turn depend on something
(which in turn depend on something) that I don't want, because I declare
some other artifact in my pom.xml.
A concrete example: I don't want that the artifact "xerces" is imported in
my project because I declare to depend on "xercesImpl" which ships newer
libraries but with the same namespaces.
I guess I would need an "exclude transitive dependency at all", either
globally or from this and that artifact. I saw the <exclusions> tag, but it
forces me to be very verbose and have exact control on what is required by a
dependency.
Attachments
Issue Links
| This issue is duplicated by: | ||||
| MNG-2031 | Easily disable / exclude transitive dependencies |
|
|
|
| MNG-1607 | Provide the ability to globally exclude a dependency |
|
|
|
| MNG-3696 | Add explicit transitive dependencies in dependencyManagement section of pom.xml |
|
|
|
| MNG-4501 | Support global dependency excludes |
|
|
|
| MNG-3173 | It should be possible to declare transitive dependency exclusions independent of any of the immediately declared dependencies |
|
|
|
| This issue relates to: | ||||
| MNG-1797 | Dependency excludes apply to every subsequent dependency, not just the one it is declared under. |
|
|
|
| MNG-3196 | Allow exclusion of a certain transitive dependency across all direct dependencies. |
|
|
|
From
MNG-2031:Transitive dependencies are cool, however, the limitations are very difficult to work around.
One cool feature would be to allow disabling transitive dependencies in the following ways:
MNG-2031: Transitive dependencies are cool, however, the limitations are very difficult to work around.- specification dependencies
- jarjar dependencies (spring.jar includes all spring-xxx.jar, so no need to include them)
- remove warning on relocations for transitive dependencies (it's always difficult to tell users: that's not an error, and we can not do anything)
- poms on ibiblio are all in m2 and never change
- exclusions for transitive deps can be overriden if manually included
One cool feature would be to allow disabling transitive dependencies in the following ways: