You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

POM文件的<parent>节点中是否允许使用${...}属性?

Maven父节点中使用属性的疑问

Maven的POM参考文档指出,属性值“可在POM内的任何位置访问”,但这并非100%成立。属性的解析值依赖于POM的父节点,因此在<parent>节点中使用属性似乎会造成循环依赖:

  • 要获取父节点的坐标,需要先解析父节点中使用的属性
  • 要解析这些属性,又需要先获取父节点的坐标

比如,是否允许编写以下代码:

<parent>
  <groupId>my.group</groupId>
  <artifactId>${project-prefix}-common</artifactId>
  <version>xyz</version>
</parent>

如果允许的话,Maven会为${project-prefix}使用什么值?

Maven官方文档表明属性可以在<parent>节点中使用,但我在Maven 3.9.8中的测试发现其行为几乎无法预测(至少对我这个POM新手来说是如此)。

属性是否真的允许在<parent>节点中使用?此外,有没有官方文档明确说明<parent>节点中的属性应如何工作?


内容的提问来源于stack exchange,提问作者Calvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:29:55