記一次打包的詭異現象
阿新 • • 發佈:2018-07-11
被拒絕 工具 它的 oot mic 詭異 運行 出錯 mon
一、前情提要:
今天線上打包,發現啟動正常,但是訪問異常,看日誌也沒有打印出什麽異常信息。
更新的微服務包訪問的時候一直報出【403】,訪問被拒
項目架構:springBoot + maven
二、機緣巧合:
上午出現這個問題當場沒有找到解決辦法,明明啟動正常怎麽就訪問不了?先放下了這個問題
下午另一個項目調試,也是部署到服務器後,訪問拒絕,當時懷疑打包配置有問題,我就在本地自己打了包部署上去,項目啟動正常!!!
這是怎麽回事?使用比對工具首先發現,包裏少了某些功能代碼,但是這不該是影響運行的理由啊?
之後再看其它的不同,發現依賴的一個基礎包【common】裏少了幾個依賴包,並且mavne的pom配置也不盡相同
【判定:是打包環節出了問題】
三、後知後覺:
現在想想,特定的包訪問被拒絕,而所有的包都依賴【common】包,應該想到是特定包打包的時候,依賴包不一致導致的
項目都是【eureka】的,不能訪問,而不是報錯,訪問權限控制,不就是依賴的【common】包裏的配置嗎?
所以,打包的話,盡量一次全打,哪怕只用其中一個,保證基礎依賴包唯一
單獨打包的話,可能導致,引用了上次的【common】包,或者在本地存在的本身就有異常的【common】包
【原因猜想-1:目標包是單獨打的,基礎依賴包出錯】
【原因猜想-2:打包的機器,maven工具出了問題,依賴錯誤或者依賴缺失】
四、總結:
針對這種框架,如果服務部署運行正常,而配置又沒有問題的話,好好的就是不能訪問,那麽就【重新打包】試試,說不定就好了
不要鉆死胡同,一切都正常了,無法排查原因了,就不要自己瞎想了
看著正常,但是不行,那就換一個試試,不要糾結,換一個好了,就對比,看哪裏不一樣,方便下次排查
記一次打包的詭異現象