Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 是否自动使用dependency-reduced-pom.xml代替pom.xml?_Maven_Maven 3_Maven Shade Plugin - Fatal编程技术网

Maven 是否自动使用dependency-reduced-pom.xml代替pom.xml?

Maven 是否自动使用dependency-reduced-pom.xml代替pom.xml?,maven,maven-3,maven-shade-plugin,Maven,Maven 3,Maven Shade Plugin,由自动创建的依赖性降低的pom.xml是否用于依赖uberjar的项目(而不是普通的pom.xml) 在阅读了大量与dependency-reduced-pom.xml相关的问题后提出此问题,但尚未找到答案: 在项目的${basedir}构建时生成依赖性减少的pom.xml。此文件是一个临时文件,仅用于打包到着色jar中。引用属性的文档: 标记是否为着色工件生成简化POM。如果设置为true,则已包含在uber JAR中的依赖项将从生成的POM的部分中删除。简化的POM将被命名为depend

自动创建的
依赖性降低的pom.xml
是否用于依赖uberjar的项目(而不是普通的
pom.xml

在阅读了大量与dependency-reduced-pom.xml相关的问题后提出此问题,但尚未找到答案:


在项目的
${basedir}
构建时生成
依赖性减少的pom.xml
。此文件是一个临时文件,仅用于打包到着色jar中。引用属性的文档:

标记是否为着色工件生成简化POM。如果设置为
true
,则已包含在uber JAR中的依赖项将从生成的POM的
部分中删除。简化的POM将被命名为
dependency reduced POM.xml
,并存储在与着色工件相同的目录中。除非您还指定了
dependencyReducedPomLocation
,否则插件将在项目basedir中创建一个名为
DependencyReducedPom.xml
临时文件

为了清楚起见,在运行
maven shade插件之后:

  • 您的初始POM将保持不变
  • 在根文件夹()内将生成一个名为
    dependency reduced pom.xml
    的临时文件,您可以完全忽略它
  • 着色工件将在
    META-INF
    目录中包含未更改的初始POM,而不是简化的POM(这并不重要,但最好提及它-有一个自动关闭的问题:)
  • 将要部署的POM是简化的POM
  • 默认情况下,着色工件将是项目的主要工件

谢谢,我想知道你的答案在哪里消失了:)有几点还不清楚:1)如果是临时文件,为什么后记不删除?2) 那么,答案是否定的?因为你提到的MSHADE-36问题?3) 如果MSHADE-36得到修复,并且减少依赖性的pom将替换打包的pom.xml,那么答案将变为是:)1) 不知道。我想它可以被删除,是的。我找不到这方面的问题。2) &3)实际上,META-INF文件夹中的POM只是信息性的,所以它不是简化的POM并不重要。重要的是,部署的POM将是减少的POM。因此,如果你依赖于阴影工件,你将依赖于减少的POM(这将有效地取代“初始”POM)。@Tunaki在4年没有兴趣之后,问题已经结束了(没有投票/没有评论等)。你认为呢?重新打开它?提供补丁吗?@khmarbaise我会看看我是否能重现这个问题(因为我做了第一次测试,奇怪的是我没有重现它——也许它在同一时间被修复了,但没有在bug报告中被追踪到)