项目版本升级:从升级到版本前言简单记录一次本人在自己的项目中,把版本升级到版本时升级的步骤,及遇到的问题。提升版本号更改文件中的版本号修改y文件中的部分配置在
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
spring-boot 编译问题之Could not find org.springframework.boot:spring-boot-gradle-plugin:2.1.5.RELEASE.
1.问题描述A problem occurred configuring root project 'maketControlV'.> Could not resolve all artifacts for configuration ':class
1.2022-09-15:Range模块是跟踪数字范围的模块。 设计一个数据结构来跟踪表示为 半开区间 的范围并查询它们。 半开区间 [left, right) 表示所有 left <= x < righ
2.Java数组移除其中某个元素 java 数组移除元素
3.如何使用apache的ab压力测试小工具传参数
4.2022-09-13:给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。 同时给你一个二维整数数组 prices ,其中 prices[i] = [hi, wi, pricei] 表示你可以
5.Android加载框 android加载js