问题场景

最近笔者在打包多maven项目时也发现这么个问题,和团队配合开发,拉下pom文件代码后,执行打包命令就出现如下异常
在这里插入图片描述

问题分析

1、首先还是按照以往的经验把父pom优先打包,按照引用顺序,从父级向子级依次按顺序打包,后面发现不管顺序如何都是出现这个异常。
2、后面发现除了提示Could not find artifact 父pomId 找不到父pom文件提示外,还有提示引用路径问题’parent.relativePath’ points at no local POM @ line 4, column 13

    <parent>
        <groupId>com.xxx</groupId>
        <artifactId>xxx</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath></relativePath>
    </parent>
在xml文件中,未使用<relativePath>标签、<relativePath></relativePath><relativePath/>等都是默认指向路径 ../pom.xml,
但是回头看看父pom文件,这边确实也有指明对应子pom的相对路径,也能成功跳转

在这里插入图片描述
3、最后发现是编辑器版本差异引起的,我用的是19版本

后面和同事20版本的idea比对了下,发现19这个比较坑的一点,20版本父pom有写明子级路径就能直接用了,我这19版本还需要在子级pom<relativePath>
</relativePath>标签中,声明具体父pom的相对路径才能正常执行maven命令。

问题处理

根据对应的目录层级指向相应pom文件所在项目文件夹,就能处理这个异常了,正常打包了

     <relativePath>../xx-parent</relativePath>
     <relativePath>../../xx-parent</relativePath> 

在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐