What is `dependency-reduced-pom.xml` file which created when calling maven package command?

一个人想着一个人 提交于 2019-11-28 08:52:30

问题


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.



来源:https://stackoverflow.com/questions/26500735/what-is-dependency-reduced-pom-xml-file-which-created-when-calling-maven-packa

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!