2

我在 Maven 构建期间收到一个缺少工件错误,因为其中一个依赖项使用版本的属性声明它是父工件。现在属性本身在父 pom 中声明,我的项目构建失败,出现此错误:

[ERROR] Failed to execute goal on project abc: Unable to get dependency
information for xyz:pqr:jar:SNAPSHOT: Failed to process POM for 
xyz:pqr:jar:SNAPSHOT: Non-resolvable parent POM xyz:pqr-parent:${someversion}
for xyz:pqr:${someversion}: Failed to resolve POM for 
xyz:pqr-parent:${someversion} due to Missing:
----------
1) xyz:pqr-parent:pom:${someversion}
----------
1 required artifact is missing.

for artifact:
xyz:pqr-parent:pom:${someversion}

我已验证工件是否存在于存储库中的正确位置。

有没有办法指定someversion依赖 pom 中使用的属性值?如果不是,应该如何更改依赖pom来解决错误?

4

1 回答 1

4

我在 Maven 构建期间收到一个缺少工件错误,因为其中一个依赖项使用版本的属性声明它是父工件。现在属性本身在父 pom 中声明,我的项目构建失败,出现此错误 (...)

这是一个先有鸡还是先有蛋的问题:您无法从父级获取要使用的父级版本。

有没有办法指定依赖 pom 中使用的 someversion 属性的值?

AFAIK,这是不可能的,project.parent.version 中的属性不会被替换。您可能想要检查MNG-624(并投票支持它)和相关问题。

如果不是,应该如何更改依赖pom来解决错误?

在 project.parent.version 中使用“硬编码”版本。

于 2010-05-31T15:07:57.993 回答