迁移到Mavent 3.0.3之后,无法再解决多个项目中的父poms。
这些项目以默认方式构建,因此我设置
指向“../pom.xml”的parent.relativePath

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)
错误...

...似乎表明在存储库中搜索了pom,所以我想知道为什么在其他地方查找pom之前没有在本地找到pom。
我已经读到,在settings.xml中定义了几个存储库时,maven3可能会感到困惑,但这总是在存储库内部而不是本地搜索pom时出现。
更新
到目前为止,我们确实在父项目级别(parentpom)上执行了maven构建-我不知道的一个事实很重要,因为到目前为止maven2已成功完成。
使用maven3时,这似乎很重要。
在根项目级别(rootpom)执行maven3时,构建成功完成。
这样就解决了我眼前的问题。

最佳答案

确保仔细检查子pom中引用的版本与父pom中引用的版本相同。对我来说,我将父版本的版本更改为3.1.0.0-RELEASE,但在子pom中,我仍通过relativePath引用了以前的版本,并将其定义为2.0.0.0-SNAPSHOT。如果仅包含父目录,或者将“pom.xml”附加到目录中,则没有任何区别:

    <parent>
    <artifactId>eric-project-parent</artifactId>
    <groupId>com.eric.common</groupId>
     <!-- Should be 3.1.0.0-RELEASE -->
    <version>2.0.0.0-SNAPSHOT</version>
    <relativePath>
                ../../EricParentAsset/projects/eric-project-parent</relativePath>
</parent>

关于maven-3 - 使用Maven 3.0.3和relativePath表示法的不可解析父POM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8171060/

10-14 12:08