Maven 中缺少工件错误
Posted
技术标签:
【中文标题】Maven 中缺少工件错误【英文标题】:Missing artifact error in Maven 【发布时间】:2011-02-25 23:28:48 【问题描述】:我在 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】:我在 Maven 构建期间收到一个缺少工件的错误,因为其中一个依赖项使用版本的属性声明它是父工件。现在属性本身在父 pom 中声明,我的项目构建失败,出现此错误 (...)
这是先有鸡还是先有蛋的问题:您无法从父级获取要使用的父级版本。
有没有办法指定依赖 pom 中使用的 someversion 属性的值?
AFAIK,这是不可能的,project.parent.version 中的属性不会被替换。您可能需要检查MNG-624(并投票)和相关问题。
如果不是,应该如何更改依赖pom来解决错误?
在 project.parent.version 中使用“硬编码”版本。
【讨论】:
以上是关于Maven 中缺少工件错误的主要内容,如果未能解决你的问题,请参考以下文章
Maven:POM.xml 中缺少工件 com.sun:tools:jar:1.6.0 编译时异常 [重复]