What is `dependency-reduced-pom.xml` file which cr

2019-01-28 12:12发布

问题:

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?

回答1:

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



回答2:

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.