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