关于Jenkins找不到依赖Jar包问题
昨晚在Jenkins发布时遇到一个Jar包找不到的问题,控制台的报错信息如下:
说白了就是找不到依赖的Jar包,但是当我们回退到灰度的时候发现灰度的环境是构建是没有问题的,为什么同一套代码在两个环境却有天壤之别呢,本着试试的原则,我再次构建灰度,这次惊奇的发现,这次完全没有问题。
我们再来看下变更记录发现也没有任何变更记录。
到底是什么原因会出现这种情况?我们先来看下Jenkins的工作原理
在一台(多台)server上面,安装了nexus和jenkins, 其中nexus使用setting.xml从外部的库取得各种jar。在jenkins创建新的job以后,在job项目的pom.xml放入依赖包的列表,jenkins会自动从nexus里面找到并下载到jenkins自己的.m2/reposiroty里面去.构建一个项目的时候,jenkins就从nexus找到依赖包并放入自身的reposiroty供项目使用。
我们只需执行mvn clean install指令即可, 而我们再次构建时会默认执行这一指令所以再次构建就成正常(具体看Jenkins的部署),问题解决。
我们的努力远远没有达到比拼天赋的阶段。