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 Dev

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

From Dev

maven assembly plugin dependencySet with transitive dependencies

From Dev

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 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 Dev

Maven assembly or shade plugin - How to exclude sources from jar?

From Dev

How to exclude a transitive optional Maven system in Gradle?

From Dev

How to turn off transitive dependencies for maven projects?

From Dev

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

From Dev

Exclude file directory, by assembly plugin MAVEN

From Dev

Transitive AAR dependencies in Maven

From Dev

Maven install transitive dependencies

From Dev

Include specific dependencies with maven assembly plugin

From Dev

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

From Dev

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

Maven exclude transitive dependency of a transitive dependency

From Dev

How does maven deploy snapshot without dependencies with maven-assembly-plugin

From Java

Exclude transitive dependency of Gradle plugin

From Dev

Exclude transitive dependency of Gradle plugin

From Dev

exclude transitive shaded dependency in maven

From Dev

How to copy provided Maven dependencies into a chosen directory?

Related Related

  1. 1

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

  2. 2

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

  3. 3

    maven assembly plugin dependencySet with transitive dependencies

  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 create maven uber jar which includes dependencies with scope provided

  10. 10

    Maven assembly plugin add dependencies

  11. 11

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

  12. 12

    Maven assembly or shade plugin - How to exclude sources from jar?

  13. 13

    How to exclude a transitive optional Maven system in Gradle?

  14. 14

    How to turn off transitive dependencies for maven projects?

  15. 15

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

  16. 16

    Exclude file directory, by assembly plugin MAVEN

  17. 17

    Transitive AAR dependencies in Maven

  18. 18

    Maven install transitive dependencies

  19. 19

    Include specific dependencies with maven assembly plugin

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

    Maven exclude transitive dependency of a transitive dependency

  24. 24

    Maven exclude transitive dependency of a transitive dependency

  25. 25

    How does maven deploy snapshot without dependencies with maven-assembly-plugin

  26. 26

    Exclude transitive dependency of Gradle plugin

  27. 27

    Exclude transitive dependency of Gradle plugin

  28. 28

    exclude transitive shaded dependency in maven

  29. 29

    How to copy provided Maven dependencies into a chosen directory?

HotTag

Archive