Maven中缺少工件错误

时间:2010-05-31 12:37:44

标签: maven-2 dependencies pom.xml

我在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}

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

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

1 个答案:

答案 0 :(得分:4)

  

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

这是鸡和蛋的问题:您无法从父级获取父级的版本。

  

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

AFAIK,这是不可能的,project.parent.version中的属性不会被替换。您可能需要查看MNG-624(并对其进行投票)和相关问题。

  

如果没有,应该如何更改依赖pom以解决错误?

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