maven-pom的四个层次
超级pom
超级pom是maven默认pom。触发明确设置,否则所有pom都扩展于超级pom
如源文件存放的目录、测试源文件存放的目录、构建输出的目录等。其实都是被maven定义过的。定义的位置就是超级pom
父pom
和java一样,pom之间也是单继承的,我们可以手动为pom文件指定一个父pom
当前pom
当前正在使用,也是关注最多的pom
有效pom
在pom继承关系中,子pom可以覆盖父pom中的配置;如果子pom没有覆盖,那么父pom中的配置会被继承。按照这个规则,继承关系中的所有pom叠加到一起,就得到了一个最终生效的pom。显然maven实际运行过程中,执行构建操作就是按照这个最终生效的pom来运行的。这个最终生效的pom就是有效pom
通过 mvn help:effective-pom查看有效pom