在pom.xml和settings.xml中覆盖Maven属性的顺序是什么?

Ral*_*lph 17 java maven

今天我观察到maven的特性被settings.xml覆盖了pom.xml.

因为这只是观察,我不确定这是否完全正确.所以我找了参考或一些文章,但我没有找到关于覆盖在settings.xml和中使用相同名称定义的属性的行为的具体说明pom.xml.

也许有人可以提供参考部分的链接(我可能会忽略)或可靠的文章/博客?

khm*_*ise 16

基于我认为的文档,很清楚哪一个优先于另一个(文档的摘录):

如果配置文件在设置中处于活动状态,则其值将覆盖POM或profiles.xml文件中任何等效的ID配置文件.

仅在Maven 2.2.1中,profiles.xml不再存在于Maven 3中,它受支持但不应使用.


Ale*_*kov 7

我认为具有相同名称的属性在下一个序列中被覆盖(从最高到最低的上下文):

  • 全球
  • 档案描述符
  • 每个项目
  • 每个用户

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

因此,pom.xml属性(每个项目)被settings.xml(每个用户)具有相同名称的属性覆盖.