How to exclude transitive dependencies with scope provided with maven-assembly-plugin?

fanf42

I need to create a jar-with-dependencies. I'm using maven assemply plugin 3.1.0.

I want to:

  • include dependencies with scope compile and that, transitively
  • exclude dependencies with scope provided.

IE, in the following case as shown by mvn dependency:tree:

[INFO] +- com.jayway.jsonpath:json-path:jar:2.2.0:compile
[INFO] |  +- net.minidev:json-smart:jar:2.2.1:compile
[INFO] |  |  \- net.minidev:accessors-smart:jar:1.1:compile
[INFO] |  \- org.slf4j:slf4j-api:jar:1.7.16:provided

I want to include in the final jar json-path, json-smart, accessors-smart but NOT slf4j-api.

With the default jar-with-dependencies descriptor, I also have slf4j-api included in the resulting jar.

1/ Is it the intended behavior? This seem in contradiction with other maven resolution.

2/ what is assembly descriptor that allows to get what I want?

Thanks

fanf42

So, it seems to just not work with the assembly plugin, and until explained why it is otherwise, I believe it's a bug: https://issues.apache.org/jira/browse/MASSEMBLY-883

I created a minimal project to demonstrate the problem here: https://github.com/fanf/test-maven-assembly

The solution is to use the shade plugin (https://maven.apache.org/plugins/maven-shade-plugin) which is correctly excluding transitive dependencies with scope provided (and can do many more things than the assembly plugin regarding uber-jar).

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Maven assembly plugin: how to include provided dependencies of transitive dependencies

From Java

How to exclude dependencies from maven assembly plugin : jar-with-dependencies?

From Java

Why does a dependency with scope "provided" hide transitive dependencies in Maven?

From Java

maven-shade-plugin : exclude a dependency and all its transitive dependencies

From Dev

How to exclude transitive dependency in Sbt ( in context of assembly plugin )?

From Dev

Maven: How to have jar-with-dependencies exclude "provided" dependencies?

From Dev

Why aren't 'provided' Maven dependencies 'transitive'?

From Dev

Is there a maven plugin that will verify conflicting versions of transitive dependencies?

From Dev

How to provide version for provided transitive dependencies in sbt?

From Dev

How to create maven uber jar which includes dependencies with scope provided

From Dev

Maven assembly plugin add dependencies

From Dev

How to use maven assembly plugin to exclude a package from dependency jar?

From Java

How to exclude a transitive optional Maven system in Gradle?

From Dev

How to avoid maven shade plugin from including transitive dependencies from 'test-jar' types?

From Dev

How to turn off transitive dependencies for maven projects?

From Java

how does maven determine the version of transitive dependencies?

From Dev

maven-dependency-plugin can't exclude test-scope dependencies

From Java

Maven install transitive dependencies

From Dev

Transitive AAR dependencies in Maven

From Dev

How can I exclude some packages from (transitive) dependencies?

From Dev

How can I exclude all transitive dependencies of a library in SBT?

From Dev

How to exclude transitive dependencies of other subproject in multiproject builds?

From Java

Maven transitive dependency has scope compile while when dependency has provided scope

From Dev

How to get specific version dependencies jars from maven artifactory repository who has "Provided" scope

From Dev

Maven exclude transitive dependency of a transitive dependency

From Dev

How to exclude test dependencies with sbt-assembly

From Java

Exclude transitive dependency of Gradle plugin

From Java

exclude transitive shaded dependency in maven

From Dev

Maven exclude dependency of transitive dependency

Related Related

  1. 1

    Maven assembly plugin: how to include provided dependencies of transitive dependencies

  2. 2

    How to exclude dependencies from maven assembly plugin : jar-with-dependencies?

  3. 3

    Why does a dependency with scope "provided" hide transitive dependencies in Maven?

  4. 4

    maven-shade-plugin : exclude a dependency and all its transitive dependencies

  5. 5

    How to exclude transitive dependency in Sbt ( in context of assembly plugin )?

  6. 6

    Maven: How to have jar-with-dependencies exclude "provided" dependencies?

  7. 7

    Why aren't 'provided' Maven dependencies 'transitive'?

  8. 8

    Is there a maven plugin that will verify conflicting versions of transitive dependencies?

  9. 9

    How to provide version for provided transitive dependencies in sbt?

  10. 10

    How to create maven uber jar which includes dependencies with scope provided

  11. 11

    Maven assembly plugin add dependencies

  12. 12

    How to use maven assembly plugin to exclude a package from dependency jar?

  13. 13

    How to exclude a transitive optional Maven system in Gradle?

  14. 14

    How to avoid maven shade plugin from including transitive dependencies from 'test-jar' types?

  15. 15

    How to turn off transitive dependencies for maven projects?

  16. 16

    how does maven determine the version of transitive dependencies?

  17. 17

    maven-dependency-plugin can't exclude test-scope dependencies

  18. 18

    Maven install transitive dependencies

  19. 19

    Transitive AAR dependencies in Maven

  20. 20

    How can I exclude some packages from (transitive) dependencies?

  21. 21

    How can I exclude all transitive dependencies of a library in SBT?

  22. 22

    How to exclude transitive dependencies of other subproject in multiproject builds?

  23. 23

    Maven transitive dependency has scope compile while when dependency has provided scope

  24. 24

    How to get specific version dependencies jars from maven artifactory repository who has "Provided" scope

  25. 25

    Maven exclude transitive dependency of a transitive dependency

  26. 26

    How to exclude test dependencies with sbt-assembly

  27. 27

    Exclude transitive dependency of Gradle plugin

  28. 28

    exclude transitive shaded dependency in maven

  29. 29

    Maven exclude dependency of transitive dependency

HotTag

Archive