升级Spring Boot 2.2.0、Spring Cloud Hoxton 问题总结

简介: 项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注最近升级项目的依赖 到最新版本版本变化依赖项目版本目标版本Spring Boot2.

项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注
最近升级项目的依赖 到最新版本

版本变化

依赖 项目版本 目标版本
Spring Boot 2.1.9.RELEASE 2.2.0.RELEASE
Spring Cloud Greenwich.SR3 Hoxton.RC1
Spring Boot Admin 2.1.6 2.2.0

Hoxton 版本依赖厂库

目前 Spring Cloud Hoxton 未发布 RELEASE 版本,官方计划 本月发布

使用 Hoxton.RC1 版本需要配置 spring 仓库

<repository>
    <id>spring-milestones</id>
    <name>Spring Milestones</name>
    <url>https://repo.spring.io/milestone</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>

spring boot admin 未发布 2.2.0 适配版本

解决方法: 使用快照版本2.2.0-SNAPSHOT, 需要配置快照厂库

<repository>
    <id>sonatype-nexus-snapshots</id>
    <name>Sonatype Nexus Snapshots</name>
    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
    <releases>
        <enabled>false</enabled>
    </releases>
</repository>

升级中遇到的问题

  • spring boot 2.2.0 bug ,造成 和mybatis 3.5.2 不兼容

官方issue: https://github.com/spring-projects/spring-boot/issues/18670
构造器注入的问题, mybatis 私有构造器不能绑定属性, 造成其他 依赖mybatis 的框架 类型 mybatis-plus 这种问题 https://gitee.com/baomidou/mybatis-plus/issues/I143DB

Failed to bind properties under 'mybatis-plus.configuration.incomplete-result-maps[0].assistant.configuration.mapped-statements[0].parameter-map.parameter-mappings[0]' to org.apache.ibatis.mapping.ParameterMapping
  • 解决方法:
    我们重新编译了 mybatis 3.5.2 、mybatis-plus 3.2.0 修改部分源码兼容

私有构造器改成public, maven 坐标修改为

<dependency>
    <groupId>com.pig4cloud</groupId>
    <artifactId>mybatis-plus</artifactId>
<version>3.2.0</

总结

  • 由于使用的 Spring Cloud RC 版本未同步到 阿里云等国内镜像厂库
mvn clean install

可能会出现失败,建议重复执行几次即可


  • 鉴于Spring Boot 2.2.0 和 mybatis 的不兼容问题,2.2.1 会修复这个问题,建议暂时不要升级2.2.0 直接使用 2.2.1

2.2.1 已经发布,请直接升级到2.2.1 即可解决兼容问题 (2019年11月07补充)

目录
相关文章
|
9天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
21 2
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
55 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
48 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
421 37
|
1月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
63 2
|
1月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
104 1
|
1月前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
26 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
1月前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
26 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
1月前
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
54 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
|
1月前
|
负载均衡 网络协议 Java
浅谈Springboot与Springcloud的区别
浅谈Springboot与Springcloud的区别
38 1
下一篇
无影云桌面