【问题标题】:Relationship between what's inside <profile> and what's not in maven pom.xml<profile> 中的内容与 maven pom.xml 中的内容之间的关系
【发布时间】:2015-10-14 21:44:04
【问题描述】:

我刚刚开始了解 maven,所以这可能是一个基本问题,但到目前为止我无法找到明确的答案。 在 pom.xml 中,我们可以根据环境设置和属性等标准定义一个或多个配置文件。此外,精心设计的 pom.xml 将仅包含具有互斥条件的配置文件。 但是任何配置文件之外的 pom.xml 内容呢?如果未找到配置文件匹配以进行激活,它们是否构成默认条件?或者除非活动配置文件中的设置被覆盖,否则是否会处理此内容?

【问题讨论】:

  • 我不明白你的问题,你能提供一个简单的例子吗?
  • @Tunaki,感谢您的回复,但我自己在下面回答了这个问题。

标签: maven pom.xml profiles


【解决方案1】:

我的问题的措辞可能有点令人困惑,但我已经弄清楚了。 如果 Maven 在 pom.xml 中找到条件为 true 的配置文件,则该配置文件部分的内容优先于 pom.xml 其余部分的相应内容。但是,无论选择哪个配置文件,都将使用 pom.xml 中在配置文件中没有相应内容的任何内容。 例如,如果 pom.xml 包含开发环境的配置文件并指定为依赖项工件 Bar,版本 1.0.1-SNAPSHOT,而在任何配置文件之外,pom.xml 指定依赖项 Bar,版本 1.0.0,然后如果环境不是 dev,则使用后者,而前者将用于 dev。如果同一个 pom.xml 在任何配置文件之外指定为依赖工件 Foo,版本 2.0.2,而没有配置文件列出此依赖项,则每个配置文件都将继承工件 Foo,版本 2.0.2,因为没有冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    相关资源
    最近更新 更多