【发布时间】:2011-12-31 13:06:54
【问题描述】:
迁移到 Mavent 3.0.3 后,多个项目中的父 pom 无法再解决。
项目以默认方式构建,因此我设置 parent.relativePath 到“../pom.xml”
superpom (located in repository)
|-rootpom (located locally: no error)
|-|-parentpom (located locally: error resolving parent)
|-|-|-module1 (located locally: error resolving parent)
|-|-|-module2 (located locally: error resolving parent)
|-|-|-module3 (located locally: error resolving parent)
|-|-|-module4 (located locally: error resolving parent)
错误...
myGroup:myArtifactId:1.0 的不可解析父 POM:未能 找到 myGroup:myParentArtifactId:1.0 在 http://myRepo.net/archiva/repository/maven2 被缓存在本地 存储库,在更新之前不会重新尝试解析 maven2 的时间间隔已过或强制更新 'parent.relativePath' 指向错误的本地 POM @ myGroup:myParentArtifactId:1.0, C:\myProjectDir\parent\pom.xml, 行 x,第 y 列 -> [帮助 2]
...似乎表明在存储库中搜索了pom,所以我想知道为什么在其他地方找不到之前在本地找不到pom。
我已经读到,当在 settings.xml 中定义多个存储库时,maven3 可能会感到困惑,但这始终是在存储库中而不是本地搜索 pom 时。
更新
到目前为止,我们确实在父项目级别 (parentpom) 上执行了 maven 构建 - 我不知道这一事实很重要,因为 maven2 到目前为止已成功完成。
在使用 maven3 时,这似乎很重要。 在根项目级别 (rootpom) 上执行 maven3 时,构建成功完成。 所以我眼前的问题就解决了。
因为我不一定想回答我自己的问题 有人可以解释为什么 maven3 现在会这样或者为什么旧的 方法不对。
【问题讨论】:
-
您是否尝试将
relativePath仅设置为文件夹名称? (例如../,没有pom.xml) -
我试过“..”“../pom.xml”,现在“../”