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

2022-09-02 21:20:08

今天,我观察到在 中定义的 maven 属性覆盖了 .settings.xmlpom.xml

因为这只是一个观察,所以我不确定这是否完全正确。因此,我正在寻找参考或一些文章,但我没有发现有关覆盖和中用相同名称定义的属性的行为的具体陈述。settings.xmlpom.xml

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


答案 1

根据我认为的文档,很明显哪一个优先于另一个(文档摘录):

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

配置文件.xml在 Maven 3 中不再存在,仅在 Maven 2.2.1 中受支持,但不应使用。


答案 2

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

  • 全球
  • 配置文件描述符
  • 每个项目
  • 每用户

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

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


推荐