昨晚在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的部署),問題解決。
