Maven shade插件将dependency-reduced-pom.xml添加到基本目录
maven shade插件正在创build一个名为dependency-reduced-pom.xml的文件,还有一个artifactname-shaded.jar文件 ,并将它们放在基本目录中。
这是一个错误? 应该在目标目录中。 任何解决方法?
您可以通过将createDependencyReducedPom
设置为false来避免创build它。
例如
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${maven-shade-plugin.version}</version> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> .... .... </plugin>
从apache查看更多细节
基于bmargulies的回答和他对Xv的评论。 的答案,我决定configuration依赖减less的POM输出到target/
,这已经在我的VCS中被忽略了。
为此,我只是将dependencyReducedPomLocation
元素添加到插件的configuration
元素,即
<configuration> <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation> (...) </configuration>
请参阅https://issues.apache.org/jira/browse/MSHADE-121 ,以及https://issues.apache.org/jira/browse/MSHADE-124 。
有一个选项可以将drp移到其他地方,但是你可能不喜欢后果。
你对这个阴影的瓶子是错误的,它总是以目标/结束,除非你把它移动到其他地方。
你可以使用旧版本的插件。 maven-shade-plugin 1.7版写入/ target。
从版本1.7.1开始,将dependency-reduced的pom.xml写入到basedir。 出于某些原因, MSHADE-124查看了问题,结果如何。 如果您尝试设置dependencyReducedPomLocation ,您可能会遇到生成该网站的问题 – 公开问题MSHADE-145 。
当它说: http ://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html上的文档是不正确的。
createDependencyReducedPom boolean – 标记是否为阴影工件生成简化的POM。 如果设置为true,则包含在uber JAR中的依赖关系将从生成的POM的部分中删除。 减less的POM将被命名为dependency-reduced-pom.xml,并存储在与着色的工件相同的目录中。 除非您还指定了dependencyReducedPomLocation,否则插件将在项目basedir中创build一个名为dependency-reduced-pom.xml的临时文件。 默认值是:true。
dependency-reduced-pom.xml 不存储在与着色工件(目标目录)相同的目录中…实际上它是在基目录中生成的,而不是目标