当Zipkin-Server遇上spring-boot-starter-web后的故事
故事的起因:作者自己搭建微服务架构用于公司项目开发,援用cloud生态的架构最终在链路追踪这一块儿,选择了zipkin整合,所以才有了下面的故事!
1.新建maven项目,加入model用作zipkin服务中心
2.引入以上两个jar包准备整合zipkin进入cloud生态!
3.增加配置文件,这里笔者选用的yml文件配置(以个人喜好为主)
4.配置文件如下
spring: main: allow-bean-definition-overriding: true用于解决以下错误
5.这下我们再来启动
意外不意外,惊喜不惊喜? 兄弟!莫慌!经过收集资料和分析问题,最终发现了标题所简述的故事,两个jar里面的引用jar冲突了,然后解决思路就是剔除其中一个jar里面对日志的引用!这里我选择剔除zipkin-server里面的日志jar,如下所示
<dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-server</artifactId> <version>2.12.3</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </exclusion> </exclusions> </dependency>
6.
启动成功!
彩蛋:这里引用的是zipkin2.12.3的包,如果引用2.2.2的包还会有org.springframework.boot.actuate.metrics.buffer.CounterBuffers的错误,这里笔者也没有解决,如果有知道的大牛,如果愿意分享可以留言告知,谢谢!
技术交流QQ群:260292706