问题描述:
我在创建消费端 引入得dubbo zookeeper zkclient kryo kryo-serializers 版本一致,但是我的消费端也是在网上查的配置上的 有这个依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.1.0</version>
</dependency>
问题就是我给项目打包得时候 lib下面就是有两个dubbo 一个是2.5.2版本得,另一个就是2.6.2这个版本 是和server端相同的,点到上边那个依赖里 我看他已经引用了dubbo及zookeeper 但是没有指定版本号 现在出包有两个版本dubbo 就会有错 所以考虑是引用错乱引起的
我尝试把dubbo-spring-boot-starter得依赖去掉 打包的时候就没有2.5.2得dubbo版本
但是启动项目就不会读取dubbo得配置
加上那就有有两个版本的dubbo 当调用server端的时候就会报如下得错误
classNotFound:com/seotericsoftware.kryo.kryo$DefaultInstantiatorStrategy
但是 kryo 得依赖我已经引入了 没有问题
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.1.0</version>
</dependency>
这个包含了dubbo和zookeeper
如果你把这个除掉,
可以用:
在@SpringBootApplication下面需要加上@EnableDubboConfig;而不是@EnableDubbo
感谢大佬 我马上试试 zookeeper依赖可以不是您这个吗 使用和server端得一样的
因为是银行项目
@KpGo: 可以;你的代码用的是alibaba下的,zookeeper也用Alibaba对应版本的就可以了
@再见2019: 谢谢您得回答 问题解决了
你可以查看下maven的依赖树,
mvn dependency:tree
来分析一下哪些库间接依赖了dubbo。
或者IDEA的话,安装一下Maven Helper插件,点开pom->"Dependency Analyzer" 查看依赖树。
然后Exclude掉不需要的那个版本即可。
嗯嗯 感谢您得回复
各位大佬 跪求帮助 实在是没有豆了
– KpGo 4年前