springboot 整合dubbo遇到的几点坑

1.版本兼容问题

      如下图所示,其中的 spring-boot-starter-dubbo 是一个比较旧的1.0.0版本,在一开始的时候,spring-boot-starter-parent使用的是默认的2.1.2.RELEASE版本,这个版本导致了和dubbo的不兼容问题。造成的结果就是运行不会报错,但是不会启动ZkClient ,在dubbo控制台也不会找到服务的发布者和消费者。所以spring-boot-starter-parent换成低版本的1.5.1.RELEASE保证了兼容性

2.扫描包(spring.dubbo.scan)的配置问题

    如果扫描包路径配置的不对,会造成在启动时找不到类等空指针异常

  (ps:建议不要把生产者和消费者的扫描包路径设置成一样的。

      开始的时候我将消费者和服务生产者的目录结构设置的完全一样,造成的结果就是这两个扫描包路径是一样的。这会造成导包失败的结果。而且会扫描不到生产者的路径)

     服务的消费者的扫描包路径应该配置成消费该服务的类的包名

服务的发布者的扫描包路径应该配置到服务暴露的接口包名,同时,该接口对应的实体类建议也放在这个包的子目录下面

3.打包插件问题

 发布服务的生产者建议使用下面的maven插件打包,不然可能会在消费者调用该jar包的时候找不到相应的类,造成导包失败。

  <build>
        <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        </plugins>
    </build>

下面的这个打包插件就会把BOOT-INF类似于这样的安全的文件夹下面,使用jar包import 包 是不会成功的。所以在服务的生产者是不要使用这个maven插件了

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值