升级Spring Boot 2.2.0、Spring Cloud Hoxton 问题总结
项目推荐: 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补充)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于dubbo和zookeeper的微服务实现案例
一、注册中心-zookeeper1.zookeeper zookeeper可以在分布式项目中承担以下几个功能: 1)注册中心 2)存储数据: 分布式锁 3)观察者模式:做到多个分布式服务器之间的数据同步 2.如何搭建zookeeper 要么使用docker搭建,要么使用原生的方式搭建。 1)在虚拟机上安装jdk上传jdk的压缩包到虚拟机的 /usr/local/java文件夹内解压缩 tar -zxvf jdk.....tar.gz 配置环境变量 vim /etc/profile 复制以下内容到该文件的末尾 export JAVA_HOME=/usr/local/java/jdk1.8.0_191 export JRE_HOME=/usr/local/java/jdk1.8.0_191/jre export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin 保存并退出 :wq 让配置生效 sou...
- 下一篇
Consul介绍:什么是Consul & 与其他软件的比较
Consul介绍 什么是consul Consul是一个服务网格解决方案,提供了一个功能齐全的控制台、具有服务注册发现、配置中心和分段功能。Consul的每一个特性既可以根据需要单独使用,又可以一起使用来构建完成的服务网格。Consul拥有一个数据层且支持代理和本地集成模型。Consul提供了一个简易的内置代理以方便开箱即用,同事也支持第三方代理集成例如[Envoy](https://www.envoyproxy.io)。 关键特性: 1. 服务发现:客户端可以通过Consul注册一个服务,例如 api 或 mysql,并且其他客户端可以通过Consul发现服务提供者。通过DNS或HTTP,应用程序可以方便的找到她们依赖的其他服务。 2. 健康检查:Consul客户端可以提供任意数量的健康状况检查,这些检查要么与给定的服务相关(“web服务器是否返回200 OK”),要么与本地节点相关(“内存利用率是否低于90%”)。管理员可以使用这些信息监视群集运行状况,服务发现组件也可以使用此信息将请求路由到远离不健康的主机。 3. KV存储:应用程序可以将Consul的KV存储用于任何目的,包括...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS关闭SELinux安全模块
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度