问题产生的原因:我们在构建微服务项目的时候项目层级比较深的时候,通过jenkins打包,如果没有配置好项目的依赖包,自动构建就会报错。

错误原因:

[FATAL] Non-resolvable parent POM for com.xy.cloud:cloud-xy-gateway:1.0-SNAPSHOT: Could not find artifact com.xy.cloud:cloud-xy-parent:pom:1.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 5, column 13

解决方法:网上说的很多种都不靠谱,不同的项目配置是不一样的但是我们父包parent都是一样的,如果子服务找不到父包依赖包pom.xml文件就会报这个错误。

项目层级:

我要打包网关: 

jenkins配置:(全局工具配置一定要配置jdk,maven,ssh,全局账号,配置maven一定要配置maven环境变量,如果是docker启动jenkins,一定要配置jenkins的指向地址,)

 要不然就会出现下面这样:

 问题解决方法:1,找到jenkins工作目录,jenkins打包会自动生成workspace目录,项目拉取后再里面mvn clean install,如果你没有提前拉取下来就会报找不到项目:

cd /var/jenkins_mount/workspace/

这个目录就是jenkins临时打包目录,你只需要把parent 或者common的配置pom.xml文件复制到同级目录即可。然后在构建就没有问题了。(针对jar微服务项目) 

2,配置自由项目也是一样,无非也是把common和parent包拉取到工作空间

 配置源码和maven打包及可道理都是一样,把配置拉取到jenkins工作空间。

 3,这一种办法针对war,web项目部署的方式,在jenkins首级目录提前指定好路径的方式就可以啦。

 

再次构建即可: 

 问题解决了,只要可以解决问题都是好办法。

 客官要是解决了你的问题,记得点个赞关注一波,持续分析问题解决技术方案喔。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐