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 ,重启应用,完美解决

解决冲突总结

● 借助工具直接了当的找冲突类在工程中有哪些
● 冲突不一定只是本包版本冲突,也有可能是别的包类全名冲突

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