maven依赖的jar包版本不一样_maven 由于传递依赖导致的引入低版本jar包导致classnotfind异常问题解决-Fun言...

当Maven项目中不同库依赖了不同版本的同一jar包时,可能会引发ClassNotFound异常。例如,jersey-container-netty-http 2.26与hbase-client 1.2.6之间的netty-all版本冲突。解决方法是手动引入所需高版本的jar,如将netty-all 4.0.x升级到4.1.5.Final,从而避免classnotfind异常。
摘要由CSDN通过智能技术生成

maven导入jar包时,可能由于不同jar包之间依赖了不同版本的另外的jar包,会导致classnotfind异常。

举个我遇到的例子:

org.glassfish.jersey.containers

jersey-container-netty-http

2.26

org.apache.hbase

hbase-client

2.1.0<

如上,我引入上面两个包时,

Channel server = NettyHttpContainerProvider.createHttp2Server(BASE_URI, new APIApplication(), null);

此时执行上面的创建启动 Netty HTTP/2 server 没有问题,正常。

由于项目中需要将hbase-client版本换成1.2.6,问题就来了。

org.glassfish.jersey.containers

jersey-container-netty-http

2.26

org.apache.hbase

hbase-client

1.2.6<

如上,pom中需要改为上面这样。此时在我的Activator中

Channel server = NettyHttpContainerProvider.createHttp2Server(BASE_URI, new APIApplication(), null);

会报java.lang.ClassNotFoundException: io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeCodecFactory not fo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值