什么是在调用maven包命令时创建的`dependency-reduced-pom.xml`文件?

时间:2014-10-22 05:17:58

标签: maven dependencies package pom.xml maven-shade-plugin

我正在关注来自springsource here的maven教程,之后1)添加joda-time依赖项,以及2)调用mvn package commmand,我们得到以下文件dependency-reduced-pom.xml

我的问题是,除pom.xml文件外,创建此文件的目的是什么?

enter image description here

2 个答案:

答案 0 :(得分:5)

如果设置为true,则标记createDependencyReducedPom(默认情况下为true),依赖 包含到uber JAR中将已从生成的POM的<dependencies> section中删除

简化的POM将命名为 dependency-reduced-pom.xml ,并存储在与着色工件相同的目录中。

除非您还指定dependencyReducedPomLocation,否则插件将在基于项目的基础上创建名为 dependency-reduced-pom.xml 的临时文件。

从这里提取http://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#createDependencyReducedPom

enter image description here

答案 1 :(得分:1)

What is the purpose of dependency-reduced-pom.xml generated by the shade plugin?复制:

  

好吧,如果你有一个带有X依赖关系的模块A,并且遮蔽了一些   他们在一个特定的JAR(A-shaded.jar),然后你不会需要那些   如果你想依赖于A-shaded.jar而不是依赖于着色依赖项   a.jar文件。所以插件创建了一个只包含Y的pom.xml   非阴影依赖。