现象
在外部(非Eclipse环境)使用maven命令mvn clean install
编译工程没有报任何错误。
将工程导入Eclipse后,在Eclipse中的POM报错,错误信息大概说,有些Maven的组件无法找到:
Non-resolvable parent POM for xxx Could not find artifact and 'parent.relativePath' points at wrong local POM
解决过程
一开始搞错了方向,看到报错和parent相关,以为是pom定义有问题,死命找哪定义的不对。无果后,反过来想,既然在外部能mvn clean install
过,说明工程本身是没有问题的。
理理思路后,想起Maven环境是IT预安装的,各种maven的配置已经配置好了,包括指向公司的repository。所以外部跑时能够拉到各个组件。而Eclipse是自己安装的,那是否是Eclipse没有使用Maven的默认配置?
果然,Eclipse使用的是自己Embedded的Maven
所以解决方案就是,改动Eclipse里Maven的配置。
- 应该可以在这,直接将这里的Maven指向自己安装的Maven。(我没试)
- User Setting里指向自己的Maven配置(我所使用的方法)
改好后
update maven project
,错误消失了