gpt4 book ai didi

java - maven -> 配置文件 -> 激活 - 需要所有条件还是只需要一个?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:33 26 4
gpt4 key购买 nike

配置:
- Maven:3.0.5
- Java:1.6.0_45

描述:

假设我们有如下配置文件配置:

<profiles>
<profile>
<id>profile-1</id>
<activation>
<jdk>1.6</jdk>
<property>
<name>name</name>
<value>Hubert</value>
</property>
</activation>
</profile>
<profile>
<id>profile-2</id>
<activation>
<jdk>1.6</jdk>
<property>
<name>name</name>
<value>Wiktoria</value>
</property>
</activation>
</profile>
</profiles>

我们有两个配置文件:profile-1profile-2

配置文件 profile-1 应在满足两个要求时处于 Activity 状态:
- jdk 是 1.6 版本
- 属性 name 具有值 Hubert

问题:

让我们检查一下这个配置:

mvn -Dname=Hubert help:active-profiles

结果我得到两个 Activity 配置文件:profile-1profile-2
嗯……
配置文件 profile-2 不应处于 Activity 状态,因为属性 name 的值与预期的 Wiktoria 不同。

有人能解释一下为什么会这样吗?这是正常行为吗?
谢谢。

最佳答案

这里的问题是你的触发条件的激活列表是用OR连接的。他们确实有一张去provide multiple activation triggers的票, 但它仍然是开放的。这意味着它与您的 SDK 规则相匹配,该规则为真,因此处于 Activity 状态。

<profile>
<id>profile-1</id>
<activation> <!-- true || true = true -->
<jdk>1.6</jdk> <!-- true -->
<property> <!-- true -->
<name>name</name>
<value>Hubert</value>
</property>
</activation>
</profile>
<profile>
<id>profile-2</id>
<activation> <!-- true || false = true -->
<jdk>1.6</jdk> <!-- true -->
<property> <!-- false -->
<name>name</name>
<value>Wiktoria</value>
</property>
</activation>
</profile>

关于java - maven -> 配置文件 -> 激活 - 需要所有条件还是只需要一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20659666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com