1. 程式人生 > >記一次打包的詭異現象

記一次打包的詭異現象

被拒絕 工具 它的 oot mic 詭異 運行 出錯 mon

一、前情提要:

  今天線上打包,發現啟動正常,但是訪問異常,看日誌也沒有打印出什麽異常信息。

  更新的微服務包訪問的時候一直報出【403】,訪問被拒

  項目架構:springBoot + maven

  

二、機緣巧合:

  上午出現這個問題當場沒有找到解決辦法,明明啟動正常怎麽就訪問不了?先放下了這個問題

  下午另一個項目調試,也是部署到服務器後,訪問拒絕,當時懷疑打包配置有問題,我就在本地自己打了包部署上去,項目啟動正常!!!

  這是怎麽回事?使用比對工具首先發現,包裏少了某些功能代碼,但是這不該是影響運行的理由啊?

  之後再看其它的不同,發現依賴的一個基礎包【common】裏少了幾個依賴包,並且mavne的pom配置也不盡相同

  【判定:是打包環節出了問題】

三、後知後覺:

  現在想想,特定的包訪問被拒絕,而所有的包都依賴【common】包,應該想到是特定包打包的時候,依賴包不一致導致的

  項目都是【eureka】的,不能訪問,而不是報錯,訪問權限控制,不就是依賴的【common】包裏的配置嗎?

  所以,打包的話,盡量一次全打,哪怕只用其中一個,保證基礎依賴包唯一

  單獨打包的話,可能導致,引用了上次的【common】包,或者在本地存在的本身就有異常的【common】包

  【原因猜想-1:目標包是單獨打的,基礎依賴包出錯】

  【原因猜想-2:打包的機器,maven工具出了問題,依賴錯誤或者依賴缺失】

四、總結:

  針對這種框架,如果服務部署運行正常,而配置又沒有問題的話,好好的就是不能訪問,那麽就【重新打包】試試,說不定就好了

  不要鉆死胡同,一切都正常了,無法排查原因了,就不要自己瞎想了

  看著正常,但是不行,那就換一個試試,不要糾結,換一個好了,就對比,看哪裏不一樣,方便下次排查

  

  

  

記一次打包的詭異現象