美文网首页
dubbojava.lang.IllegalStateExcep

dubbojava.lang.IllegalStateExcep

作者: 王月亮17 | 来源:发表于2022-08-13 09:24 被阅读0次

    这两天在学习nacos和dubbo,在使用dubbo集成nacos和springboot的时候,一直报错,无法启动项目。
    报错如下:

    java.lang.IllegalStateException: No such any registry to export service in provider 10.10.8.165 use dubbo version 2.6.0, Please add <dubbo:registry address="..." /> to your spring config. If you want unregister, please set <dubbo:service registry="N/A" />
    

    意思是我没有配置注册中心地址,但是配置文件明明是配了的。配置文件如下:

    server:
      port: 8001
    
    spring:
      application:
        name: base-server
      cloud:
        nacos:
          config:
            server-addr: 127.0.0.1:8848
    
    dubbo:
      application:
        name: base-server
      protocol:
        port: 20880
        name: dubbo
      registry:
        address: nacos://10.10.8.165:8848
      monitor:
        protocol: registry
      scan:
        base-packages: com.nucarf.tianjione.service
    

    排查了很久,一直以为是配置文件配置错误,最后发现,是dubbo版本太低。
    现在dubbo已经是apache接管了,而我引入的还是alibaba的dubbo包。
    报错时的依赖如下:

     <dependency>
                <groupId>org.alibaba.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>2.0.0</version>
    </dependency>
    

    修改后如下:

     <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>2.7.8</version>
    </dependency>
    

    这种问题是最难排查的。
    换了依赖之后,并不是瞬间就搞定了,而是报了另一个错误,No such method...getLogger()什么的错误。
    排查发现library中的jar包还是dubbo2.6.0。
    于是进入本地repository文件夹,删掉2.6.0的jar包,又重启项目,终于成功。

    相关文章

      网友评论

          本文标题:dubbojava.lang.IllegalStateExcep

          本文链接:https://www.haomeiwen.com/subject/belvbrtx.html