maven-shade-plugin
maven-shade-plugin copied to clipboard
[MSHADE-141] keepDependenciesWithProvidedScope does not work
Steve Tynor opened MSHADE-141 and commented
keepDependenciesWithProvidedScope option does not seem to work.
Expected behavior from both poms is to create an uber jar from the following transitive dependencies:
[INFO] Including org.apache.activemq:activemq-client:jar:5.8.0 in the shaded jar. [INFO] Including org.slf4j:slf4j-api:jar:1.6.6 in the shaded jar. [INFO] Including org.apache.geronimo.specs:geronimo-jms_1.1_spec:jar:1.1.1 in the shaded jar. [INFO] Including org.fusesource.hawtbuf:hawtbuf:jar:1.9 in the shaded jar. [INFO] Including org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec:jar:1.0.1 in the shaded jar.
I've attached two test cases
mvn -f pom-direct.xml clean install
will create an empty jar.
mvn -f pom-indirect.xml clean install
will not include the slf4j-api which is a dependency of activemq-client, but is marked provided in the pom.
Affects: 2.0
Attachments:
- pom-direct.xml (1.08 kB)
- pom-indirect.xml (1.21 kB)
1 votes, 7 watchers
Olivier Lamy commented
keepDependenciesWithProvidedScope concern only the generated dependency-reduced-pom.xml
Shivam Singh commented
Is it possible to include dependencies with provided scope in final jar creation via shade plugin ?
Do I need to use "createDependencyReducedPom" in order to use "keepDependenciesWithProvidedScope" config.
Robert Scholte commented
provided means it is already available on the targeted runtime environment, so it doesn't make sense to include that in the shaded jar. You better find the proper scope for your dependency.