SpringBoot+Dubbo+Zookeeper所遇到的坑

目录

前言:

坑一:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath

 坑二:An attempt was made to call a method that does not exist. The attempt was made from the following location:

坑三:org/apache/curator/framework/CuratorFrameworkFactory

坑三:Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException:

坑四:Cannot resolve class 'Driver' 

坑五:exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/datatype/jsr310/ser/ZoneIdSerial




前言:

因为自己之前一直没有接触过boot+dubbo+zookeeper的项目。但公司的项目架构是用的这,所以就一直想搭建一个这样的服务。不得不说,自己动手实践起来还是有点小困难的。

此篇博客记录下自己搭建服务所遇到的坑,有的坑虽然已经解决,但是不是很清楚原因,先记录解决方案。等后续再补充原因。

坑一:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath

1 报错信息:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.impl.Log4jLoggerFactory loaded from。。。。。。

2 启动界面

 3 报错原因分析:

SLF4J: Found binding in [jar:file:/D:/Program%20Files/Ennis/MavenRepositories/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/Program%20Files/Ennis/MavenRepositories/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]

因为我当前没有单独导入任何有关日志包。所以很有肯能是我这两个依赖中自带的日志包相互冲突导致报错。

解决方案:

        

 看项目各个包的相互依赖关系,如果有爆红,说明依赖冲突。

 可以选中依赖爆红的地方,右键Exclude排除该jar包中的依赖。然后在pom文件中就会自动排除该依赖中冲突的jar包

 坑二:An attempt was made to call a method that does not exist. The attempt was made from the following location:

启动界面:

 这个坑也是依赖冲突单独记录下,因为是我们的zkclient客户端依赖中出现冲突:

只需要在zkclient中去除zookeeper依赖

    <!-- zookeeper的客户端zkclient,用来连接zookeeper服务 -->
    <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.10</version>
      <exclusions>
        <exclusion>
          <artifactId>zookeeper</artifactId>
          <groupId>org.apache.zookeeper</groupId>
        </exclusion>
      </exclusions>
    </dependency>

坑三:org/apache/curator/framework/CuratorFrameworkFactory

解决方案:

在pom文件中加入:

    <dependency>
      <groupId>org.apache.curator</groupId>
      <artifactId>curator-framework</artifactId>
      <version>5.1.0</version>
    </dependency>

坑三:Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException:

启动报错:

 Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

解决方案:

我之前版本号为2.3.8版本

 将版本改为2.0.6就可解决

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.6.RELEASE</version>
  </parent>

坑四:Cannot resolve class 'Driver' 

出现问题:

pom中相关依赖: 

解决方案:

因为用了Spring-Boot-Parent中自带的版本号,可能相关依赖不能 导进,用个自带的版本号就可以解决。

<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.19</version> <!-- Spring-Boot-Parent中已带版本,本可以不用带,但是用他中自带版本时,配置文件中Driver配置有错误-->
     <!-- <version>8.0.22</version>版本Spring-Boot-Parent中已带-->
    </dependency>

坑五:exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/datatype/jsr310/ser/ZoneIdSerial

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.1</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.8.1</version>
    </dependency>

加入这两个依赖

此博客只记录自己遇到的问题,大家报的错可能是一样的,但是产生问题的原因可能不一样

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值