为了账号安全,请及时绑定邮箱和手机立即绑定

不推荐使用Spring Boot 2.2.0 ,这个问题你肯定会遇到

项目推荐: 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补充)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消