简单记录一下,有时间再做整理。
公司内部核心包依赖netty 3.2.3版本,新项目中要使用es连接client包,这个包同时依赖了nett3和netty4,其中netty3依赖3.10.6版本。
编译的时候没有问题,但是在运行的时候,抛出找不到方法异常。查了一下是在本该调用核心包中的netty时,调用了3.10.6版本的netty,因此找不到方法。
无法用exclusion排除掉client包依赖的3.10.6版本的netty,因为只能整个排除nett3,但是是client强依赖的,无法排除。这样的依赖树:
最终解决办法是:将pom文件中核心包依赖挪到client依赖前面,这样在程序加载的时候会先加载核心包中的netty。