guava中Preconditions.checkState NoSuchMethod 的報錯解決

前言

項目中遇到guava中Preconditions.checkState NoSuchMethod 的報錯,排查思路在這裏覆盤下,以做後續回憶指導

  1. 首先啓動報上述錯誤,猜測應該是jar包衝突
  2. 然後就開始排查guava本jar包的衝突問題,藉助於IDEA的pom文件Maven->show dependencys ,然後查找guava包,看看到底有哪些版本
  3. 然後確實發現了多個版本(這裏反而讓人繞彎了),然後就各種排除非自主引入的版本,但是結果然並卵,思維陷入死衚衕
  4. 回過神來直接定位找不到的方法的類,直接藉助idea查找此類(非常直接),發現有兩個同樣的包名,同樣的類名的衝突包,竟然不是guava自己,而是google-collections這個包,(都是谷歌自己的包,竟然這樣坑我們)
  5. 接着趕緊排查引入次jar包的來源,發現原來是findbugs-maven-plugin 包引入的
  6. 直接exclude 包google-collections ,重啓應用,完美解決

解決衝突總結

● 藉助工具直接了當的找衝突類在工程中有哪些
● 衝突不一定只是本包版本衝突,也有可能是別的包類全名衝突

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章