I'm following maven tutorial from springsource here, and after 1) adding joda-time
dependency , and 2) calling mvn package
commmand, we get the below file dependency-reduced-pom.xml
.
My question is, what is the purpose of creating this file besides pom.xml
file?
If you set to true the flag createDependencyReducedPom
(by default is true), the dependencies that have been included into the uber JAR will be removed from the <dependencies> section
of the generated POM.
The reduced POM will be named dependency-reduced-pom.xml and is stored into the same directory as the shaded artifact.
Unless you also specify dependencyReducedPomLocation
, the plugin will create a temporary file named dependency-reduced-pom.xml in the project basedir.
Extracted from here http://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#createDependencyReducedPom
copied from What is the purpose of dependency-reduced-pom.xml generated by the shade plugin?:
Well, if you have a module A with X dependencies, and shade some of
them in a specific JAR (A-shaded.jar), then you won't need those
shaded dependencies if you want to depend on A-shaded.jar instead of
A.jar. So the plugin creates a pom.xml containing only the Y
non-shaded dependencies.