gpt4 book ai didi

java - 在我的 mac osx 上的 intellij maven 中禁止父定义中的属性

转载 作者:搜寻专家 更新时间:2023-10-30 21:22:42 26 4
gpt4 key购买 nike

我对 MAC Intellij 上的 maven 配置有疑问。我在子 POM.xml 的父标记内收到 ${a-web.version}“禁止父定义中的属性”错误,并且该属性在父 POM.xml 中定义。但同样的配置在我的 Windows Intellij 上运行良好。

下面是我的父 POM.xml。

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>***</groupId>
<artifactId>a-web</artifactId>
<packaging>pom</packaging>
<version>${a-web.version}</version>
<name>a-web project</name>
<url>http://***</url>

<properties>
<a-web.version>1.0.0</a-web.version>
</properties>

<modules>
<module>a-core</module>
<module>a-web</module>
</modules>
</project>

这是配置父 block 的子 POM.xml。

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>a-web</artifactId>
<groupId>***</groupId>
<version>${a-web.version}</version>
<relativePath>../</relativePath>
</parent>

<artifactId>aweb-web</artifactId>
<version>${a-web.version}</version>
<packaging>war</packaging>
<name>aweb-web</name>
</project>

我已经尝试了很多来自 stackoverflow 的方法,但没有人能修复它。我想知道为什么这个 Maven 配置在 Mac 和 Windows 中有不同的行为,以及如何修复它。

最佳答案

当项目开始在我刚刚提取的提交中使用父版本属性时,我遇到了非常相似的情况。该项目不会建立并且感觉“进口不当”。尝试显示有效的 pom 失败,IDEA 没有提供任何详细信息。

正如@khmarbaise 在评论中指出的那样[1],maven 中的属性使用有一些限制 <parent>声明 - 最值得注意的是需要 maven 3.5+。 IDEA 可能没有使用足够新的 Maven(我安装的最新 IDEA 中的捆绑软件太旧了)所以我不得不使用 Settings > Build, Execution, Deployment > Build Tools > Maven > Maven 切换到本地安装主目录。一旦指向较新的版本,它并没有立即开始工作 - 一些重新启动/重建/重新导入例程导致新设置生效并且项目成功导入并再次构建。

尽管在 pom 中强制执行了 maven 版本要求,但它并没有导致 IDEA 提示它使用的 maven 版本是旧的。 IDEA 无法使用它使用的 Maven 检查项目的任何细节的缺失也无济于事。现在,当其他一切正常时,它仍然会在 pom 文件中显示“禁止父定义中的属性”。

[1] https://maven.apache.org/maven-ci-friendly.html

关于java - 在我的 mac osx 上的 intellij maven 中禁止父定义中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45598007/

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