书接上文。
我们做了很多尝试。原本考虑要不要把 maven 中引用druid的部分改下,看看能不能把那两个重写的类 排除掉。后来发现,maven依赖最小的管理单元是jar包,没法排除某一个类。
相关依赖是这样的:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
然后,我意识到,这位小同学,忽略了一件事:他为了避免曾经熬夜取得的劳动成果付诸东流,就直接把基于druid1.2.20修改的源码放入到了druid1.2.8版本的项目中了,然后增加了一些依赖的类。那么,会不会是基于1.2.20版本修改的源码与1.2.8版本的类有什么不同,导致这两个类都被加载了,只不过是项目运行时,调用到的是1.2.8中的类呢?我让他基于druid1.2.8的源码,将之前的特性修改了一遍(其实就是增加了两个方法,增加了两个if判断)。
经过他1个多小时的努力,修改完了。
然后,您猜怎么着?——诶,还是失效的。。。。
|