NoSuchMethodError的一般解决思路

         使用git开发,在本地开发一直都是好好的,但pull代码后再启动,就抛出了NoSuchMethodError。打开调试模式,设置断点,找到异常处,但奇怪的是,LoaderOptions有setAllowDuplicateKeys方法,这就奇怪了。

NoSuchMethodError的一般解决思路_第1张图片

 思考:NoSuchMethodError,运行时错误,编译时正常,运行时报找不到方法,说明类是存在的,但相同名字的类不止一个,所以极大可能是jar包冲突引起的。在断点处,找到类,jump to source,发现LoaderOptions并非所真正需要的snakeyml包下的,而是在于jruby-complete下的,再用maven插件show dependecies找出依赖jruby-complete的包,在pom中exclusion掉,再启动,成功。

NoSuchMethodError的一般解决思路_第2张图片

 

NoSuchMethodError的一般解决思路_第3张图片

show Dependencies

NoSuchMethodError的一般解决思路_第4张图片

你可能感兴趣的:(bug实录)