項目推薦: 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-pro...
構造器注入的問題, mybatis 私有構造器不能綁定屬性, 造成其他 依賴mybatis
的框架 類型 mybatis-plus
這種問題 https://gitee.com/baomidou/my...
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補充)