当Zipkin-Server遇上spring-boot-starter-web后的故事

   故事的起因:作者自己搭建微服务架构用于公司项目开发,援用cloud生态的架构最终在链路追踪这一块儿,选择了zipkin整合,所以才有了下面的故事!

  1.新建maven项目,加入model用作zipkin服务中心

 当Zipkin-Server遇上spring-boot-starter-web后的故事

2.引入以上两个jar包准备整合zipkin进入cloud生态!

3.增加配置文件,这里笔者选用的yml文件配置(以个人喜好为主)

4.配置文件如下

当Zipkin-Server遇上spring-boot-starter-web后的故事

spring:
  main:
    allow-bean-definition-overriding: true用于解决以下错误

当Zipkin-Server遇上spring-boot-starter-web后的故事

5.这下我们再来启动

当Zipkin-Server遇上spring-boot-starter-web后的故事

意外不意外,惊喜不惊喜? 兄弟!莫慌!经过收集资料和分析问题,最终发现了标题所简述的故事,两个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.当Zipkin-Server遇上spring-boot-starter-web后的故事

启动成功!

  彩蛋:这里引用的是zipkin2.12.3的包,如果引用2.2.2的包还会有org.springframework.boot.actuate.metrics.buffer.CounterBuffers的错误,这里笔者也没有解决,如果有知道的大牛,如果愿意分享可以留言告知,谢谢!

 

                                                                                                                                                            技术交流QQ群:260292706