SpringBoot项目版本升级:从1.5.3升级到2.1.8版本

前言

简单记录一次本人在自己的SpringBoot项目project-template中,把1.5.3版本升级到2.1.8版本时升级的步骤,及遇到的问题。

提升parent版本号

更改pom文件中parent的版本号

   <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath />
</parent>

修改yml文件中的部分配置

在1.5版本中,部分配置与2.1版本有些不同

应用名及上下文

1.5版本

server:
application-display-name: ProjectTemplate-Web
context-path: /project

2.1版本

server:
servlet:
application-display-name: ProjectTemplate-Web
context-path: /project

文件上传

1.5版本

spring:
http:
multipart:
location: E:/dev/Project/work/project_data/projettemplate/temp/dev #文件临时目录
max-request-size: 40MB
max-file-size: 40MB

2.1版本

 spring:
servlet:
multipart:
location: E:/dev/Project/work/project_data/projettemplate/temp/dev # 文件临时目录
max-request-size: 40MB
max-file-size: 40MB

mysql连接

1.5版本

  spring:
datasource:
url: jdbc:mysql://localhost:3306/projettemplate?useUnicode=true&useSSL=false&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver

2.1版本

  spring:
datasource:
druid:
url: jdbc:mysql://localhost:3306/projettemplate?useUnicode=true&useSSL=false&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT
username: root
password: root
db-type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver

redis配置

1.5版本

 spring:
redis: # REDIS (RedisProperties)
database: 0
host: 127.0.0.1
port: 6379
timeout: 2000
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0

2.1版本

 spring:
redis: # REDIS (RedisProperties)
database: 0
host: 127.0.0.1
port: 6379
timeout: 2000
jedis:
pool:
max-idle: 8
max-wait: -1

启动项目遇到的问题

druid-spring-boot-starter版本过低报异常

当版本为1.1.6时,报异常:

... ...
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
... ...
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/jdbc/metadata/DataSourcePoolMetadataProvider
... ...
java.lang.IllegalStateException: Failed to introspect Class [com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
... ...
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/jdbc/metadata/DataSourcePoolMetadataProvider
... ...
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvider

升级为1.1.10版本即可

 <dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>

SpringSecurity的AuthenticationManager启动报异常

当报异常:

A component required a bean of type 'org.springframework.security.authentication.AuthenticationManager' that could not be found

在SpringSecurity文件中重写即可

    @Bean(name = BeanIds.AUTHENTICATION_MANAGER)
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}

其他

当报以下异常:

The bean 'userDetailsServiceImpl', defined in class path resource [com/itmacy/dev/auth/security/SecurityConfig.class], could not be registered. A bean with that name has already been defined in file [/Users/chenmeixuan/macy/dev/project/study/webBack/project-template/target/project-template-1.0.0-SNAPSHOT_20200215-1336/classes/com/itmacy/dev/auth/security/UserDetailsServiceImpl.class] and overriding is disabled.

在yml文件中添加以下配置即可

spring:
main:
allow-bean-definition-overriding: true

完结,撒花。。。

最新文章

  1. Delphi XE5-XE8 以上 如何发布文件到工程中
  2. BZOJ 1087 【SCOI2005】 互不侵犯King
  3. spoj687 后缀数组重复次数最多的连续重复子串
  4. [MFC] MFC 仿 Flappy bird PC桌面版
  5. php连接MongoDB
  6. homework_01
  7. window.location.hash属性介绍
  8. lua package path 设置方法
  9. 调度思路+EurekaServer获得当前机器的instanceid
  10. 怎样安装pip--python的包管理工具
  11. JavaScript对滚动栏的操作
  12. 左右JAVA示例代码事件分发和监督机制来实现-绝对原创有用
  13. RPC(Remote Procedure Call Protocol)——远程过程调用协议
  14. css基础知识之列表
  15. centos为docker配置加速器
  16. TCP/IP 详解常用术语
  17. 微信小程序-数据绑定
  18. Luogu4199 万径人踪灭 FFT、Manacher
  19. &lt;zk的典型应用场景&gt;
  20. MySQL程序之mysqldump详解

热门文章

  1. Linux 查看实时网卡流量的方法 sar nload iftop
  2. Java手写数组栈
  3. 利用 Hexo 或者 hugo 搭建个人博客
  4. SQL Server2012高可用之事物复制(发布订阅)测试
  5. [Windows] 系统清理与优化神器Advanced SystemCare 13 PRO非破解附正版激活码
  6. Java控制台五子棋(纯算法)
  7. Linux系统上安装配置MAVEN
  8. Win10永久版低价购买及激活工具使用说明
  9. Flash 上下文管理
  10. 【Oracle】分区表详解