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

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

版本变化

依赖 项目版本 目标版本
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 版本,官方计划 本月发布
github

使用 Hoxton.RC1 版本须要配置 spring 仓库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, 须要配置快照厂库apache

<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: github.com/spring-proj…
构造器注入的问题, mybatis 私有构造器不能绑定属性, 形成其余 依赖mybatis 的框架 类型 mybatis-plus 这种问题 gitee.com/baomidou/my…bash

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
复制代码

可能会出现失败,建议重复执行几回便可mybatis


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

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

项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注框架

相关文章
相关标签/搜索