Java 在不同级别上覆盖poms.xml中的插件配置

Java 在不同级别上覆盖poms.xml中的插件配置,java,maven,maven-3,Java,Maven,Maven 3,我有一个maven项目,并假设它看起来是这样的 pom-parent --pom child1 --pom child2 在pom父级中,我已经在默认构建中为surfacere插件定义了插件配置。 在pom父级中,我定义了配置文件集成测试,使用冲浪插件,但配置不同 在childs pom中,我通过在配置标签默认构建(不在配置文件部分)中添加combine.self,覆盖默认构建中的surferplugin配置 我的问题是如果我运行mvn clean install-pinintegrati

我有一个maven项目,并假设它看起来是这样的

pom-parent
--pom child1
--pom child2
  • 在pom父级中,我已经在默认构建中为
    surfacere插件
    定义了插件配置。 在pom父级中,我定义了配置文件
    集成测试
    ,使用
    冲浪插件
    ,但配置不同
  • 在childs pom中,我通过在配置标签默认构建(不在配置文件部分)中添加
    combine.self
    ,覆盖默认构建中的
    surferplugin
    配置
我的问题是如果我运行
mvn clean install-pinintegration测试
将在每个级别上应用
surfere插件
的什么配置

  • pom parent=>(默认值还是来自配置文件的值?)pom
  • pom child1=>(配置文件 默认情况下,配置将被过度使用(儿童配置?)
  • 聚甲醛 child2=>(与child1相同?)

通过谷歌搜索,我得到了问题的答案。这对理解如何在maven wokrs中进行合并非常有帮助

非常有用的命令
mvn帮助:有效的pom
从父级激发

基本上,对于我的问题,答案是

父pom将在概要文件中定义配置,但是当我们在tag
中为插件在概要文件中定义配置时,它将被继承到所有子pom(即使他们没有在概要文件中定义他们的插件配置,但他们在默认的
build
tag中的简单
plugin
->
configuration
空间中定义它),并根据上述文章和我们在儿童POM中应用的策略与他们的配置合并

我认为它有一天会帮助有同样问题的人