我的情景:
使用Maven导入maven新项目到eclips中,POM文件一直报错,鼠标放置到报错位置,弹出报错信息
Non-resolvable parent POM: Could not find artifact com.free4lab.openapi.basic:openapi:pom:1.0.20151020-SNAPSHOT and ‘parent.relativePath’ points at wrong local POM @ line 5, column 11 -> [Help 2]
通过下面的资料,发现,代码中少了一个父POM文件,重新拉取代码再重新导入,解决
参考链接: https://blog.csdn.net/Ruidu_Doer/article/details/52710138
记pom配置中parent找不到的坑
用maven管理工程是常有的事情。稍微大一点的构建,依赖多了,一个pom文件写所有依赖肯定是不现实的。这时候就有了<parent/>
节点了。然后我的某个工程中的<parent/>
是这样配置的:
<parent>
<groupId>com.free4lab.openapi.basic</groupId>
<artifactId>openapi</artifactId>
<version>1.0.20151020-SNAPSHOT</version>
</parent>
- 1
- 2
- 3
- 4
- 5
一切没有问题了,结果构建的时候报错:
Non-resolvable parent POM: Could not find artifact com.free4lab.openapi.basic:openapi:pom:1.0.20151020-SNAPSHOT and ‘parent.relativePath’ points at wrong local POM @ line 5, column 11 -> [Help 2]
一脸懵,最后上网找博客(这个博客归纳得挺全的)才知道,当设置了<parent/>
时,是需要有一个relative path来查找父项目的pom.xml的,而如果没有,那么默认的父项目pom.xml就在该pom.xml的父附录中。如果没有,就会根据groupId和artifactId在本地和远端maven仓库中找。很不幸,这个父pom.xml对应的工程早已没有了,所以我这里就会报错。
找到了问题,解决方法也自然简单,在这个工程的父目录下载这个pom.xml即可。当然..将父pom.xml的内容copy过来再删了<parent/>
也是….可以的。