我正在使用Maven 3.0.4。假设我有一个带有依赖项dep-A
的父pom和一个继承自父项的子pom,具有依赖项dep-B
和dep-C
。当我查看子项目的有效pom时,我发现依赖项最终按以下顺序声明:
dep-B
dep-C
dep-A
换句话说,在列表的底部中添加了继承(父)依赖项。问题是我正在使用自定义Maven插件,依赖声明顺序很重要。
有没有办法强制Maven添加继承的依赖项列表上面的子列表?
答案 0 :(得分:0)
快速回答:不可能影响最终pom中依赖项列表中的(继承/自定义)依赖项的顺序。
然而,你可以创建一个构建场景,你可以使用http://maven.apache.org/plugins/maven-help-plugin/effective-pom-mojo.html生成结果/最终pom,只根据你的需要重新排序的依赖顺序覆盖它(如果它总是相同的人工制品 - 很容易如果你需要动态地确定从哪个“级别”继承某些依赖项,并使用这个pom.xml来运行你的自定义插件,那么更多的工作。 (这只是一点头脑风暴 - 我想它至少需要两个独立的构建)。因此,如果您对自定义插件有任何影响,通过更改该插件的行为可能会更好。
注意:我不知道对构建的影响(特别是反应堆构建顺序)因此我建议你做一些简单的手动测试(更改顺序并检查构建是否仍然有效,无论关于这一点的自定义插件。