gpt4 book ai didi

maven - 为什么 Maven 不使用预期的配置文件?

转载 作者:行者123 更新时间:2023-12-04 18:41:15 24 4
gpt4 key购买 nike

我正在使用 Maven 来构建一些项目,它使用 gMaven 插件来构建包含主要 Artifact 的 RPM。我只希望 Maven 尝试在具有 rpmbuild 的系统上构建 RPM,而不是在没有 rpmbuild 的系统上,所以我构建了两个单独的配置文件,一个应该是默认的,一个应该在 Unix 系列上激活操作系统。

我可以发誓我测试过它并且一切正常,但现在即使我在 OSX 上构建它也运行 Unix-family 配置文件。但是,如果我将配置文件的操作系统系列更改为“windows”,它肯定知道它不在 Windows 机器上,因此运行默认配置文件。

这是我的 pom.xml 文件的相关部分:

<profiles>
<profile>
<id>default-profile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<rpmPhase>none</rpmPhase>
</properties>
</profile>
<profile>
<id>rpm-profile</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<properties>
<rpmPhase>package</rpmPhase>
</properties>
</profile>
</profiles>

在 Maven 输出中:
OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"

但是,Maven 将 rpmPhase 设置为“package”,而不是“none”,这不是预期的行为。

谁能看看我在这里是否遗漏了什么?

编辑:

此外,如果我将 OS 系列设置为不存在的内容,或者如果我完全注释掉激活块,则使用默认配置文件,因此 Maven 似乎正在积极将我的 OSX 与 Unix 系列操作系统匹配。

最佳答案

我有同样的问题,这里有一个 JIRA 问题来解释这个问题:

https://jira.codehaus.org/browse/MNG-4983

他们说它实际上不是一个错误。如果您需要将 OSX 和 Unix 分开,这是一种解决方法:

<os>
<family>unix</family>
<name>!mac os x</name>
</os>

关于maven - 为什么 Maven 不使用预期的配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25857610/

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