• Spring Boot 1.5升级2.1 主要问题汇总


      我们目前工作的系统是基于Spring Boot 1.5.19.RELEASE、Spring Cloud Edgware.SR3开发的,因为一个新项目开发过程的体验,所以在考虑升级到Spring Boot 2.0。查看了一下最近更新的几个版本,选择了Spring Boot 2.1.2.RELEASE、Spring Cloud Greenwich.RELEASE做了一个Demo。

      Demo是在原系统剔除了Spring Security的基础上搭建的。

    一、主要升级工作
    1. spring boot版本升级为2.1.2.RELEASE
    2. eureka client和feign替换为以下依赖
      <dependency>
          <groupId>org.springframework.cloud</groupId>
      
          <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      
      </dependency>
      
      <dependency>
      
          <groupId>org.springframework.cloud</groupId>
      
          <artifactId>spring-cloud-starter-openfeign</artifactId>
      
      </dependency>
    3. 相关启动类引用包路径修改
    二、问题及处理过程汇总

      服务调试顺序:Eureka -> Gateway -> Services,部分问题是服务共有的,调试过程前面的服务已处理了,所以后面的服务不用处理。

    • Eureka

    1. 启动报错:The bean 'proxyRequestHelper', defined in class path resource [org/springframework/cloud/

      •  解决:Spring Boot版本与Spring Cloud版本不匹配报错,Spring Boot升级成2.1.2.RELEASE版本,原Spring Cloud是Edgware.SR3,版本过低。在官网查找更新博客,将Spring Cloud升级为Greenwich.RELEASE版本问题解决。
    • Gateway

    1. 启动报错:启动时总是能看到多个此类异常
      •  解决:此问题与IDE环境有关系:在IDEA IntelliJ环境启动,问题原因是IntelliJ的默认服务器配置,只需要删除“启用启动优化”和“启用JMX代理”复选框,报错处理。在Eclipse环境启动类型,从STS plugin Spring Boot dashboard或Run菜单中的Run Configurations转到启动配置,然后取消勾选Enable JMX复选框。
    2. 启动报错:ZuulProperties冲突

      •  解决:在网关启动类中维护了一个zuulProperties,修改为下图。
    • Services

    1. 配置pom.xml时eureka-client和feign依赖报错
      •  解决:pom.xml中增加仓库配置。
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
    三、总结

      项目中使用的一些组件还未做升级处理,目前过程还算很顺利,估计接入Spring Security之后可能会比较麻烦。

  • 相关阅读:
    存储过程 游标 有用
    Spring框架IOC容器和AOP解析 非常 有用
    业务逻辑;完成根据自动分单结果来决定进行的相关业务处理
    业务逻辑:完成基于分区关键字匹配的自动分单业务逻辑
    业务逻辑:完成基于CRM地址完全匹配的自动分单业务逻辑
    业务逻辑:完成客户下单后前台系统的数据处理并调用后台系统服务处理业务 webservice接口调用 有用
    Spring IOC 少
    Spring IOC 巨多 非常 有用
    Spring ioc
    LeetCode -- Remove Element
  • 原文地址:https://www.cnblogs.com/Mr-XiaoLiu/p/10430153.html
Copyright © 2020-2023  润新知