开发一个小功能,遇到了No such method ,由于没有源码,一直觉得拦截器的问题致使404,单步调试过程当中发现只要运行StringUtils.substringsBetween 这段代码就会有问题。
好奇心趋势一直调试这个问题,怀疑是否是像上次同样JDK版本的问题致使的?java
后来确认同事也是用的JDK1.8版本,并且这个方法也不是原生的,咨询同事原来是由于包冲突的问题致使。框架
StringUtils 是commons-lang下面的一个包,而用这个包的地方不少,很容易出现版本冲突的问题。这时候就要想办法解决包冲突,问题解决。spa
这是一个值得深层次思考的问题,调试
而咱们公司采用的SOA框架是自定义ClassLoader,引入jar包按照字母顺序来加载,因此会出现某个jar 依赖的低版本的jar包先行加载到classLoader中,致使出现No such method 或者 No such Classssl