不推荐使用Spring Boot 2.2.0
- 2019 年 11 月 11 日
- 笔记

版本变化
依赖 |
项目版本 |
目标版本 |
---|---|---|
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 构造器注入的问题, mybatis 私有构造器不能绑定属性, 造成其他 依赖mybatis
的框架 类型 mybatis-plus
这种问题
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补充)
