老鬼的博客 来都来啦,那就随便看看吧~
springboot2.3.2.RELEAS升级到2.7.5,jdk从1.8升级到11
发布于: 2022-10-28 更新于: 2022-10-28 分类于:  阅读次数: 

一:介绍

1
2
系统要接入k8s,对springboot的版本要
求是2.7.x,jdk是11,并发成jar包,故作此升级

二:war包转jar包

2.1 war改jar

1
2
3
<packaging>war</packaging>
改成
<packaging>jar</packaging>

1.png

2.2 增加内置的tomcat

2.png

2.3 去掉java.servlet.api

1
2
3
4
5
移除:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>

3.png

2.4 移除WarConfig.java

4.png

三:升级jdk11和springboot2.7.5

  • springboot.version
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<parent>
<!-- springboot版本 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath />
</parent>
修改成:
<parent>
<!-- springboot版本 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.5</version>
<relativePath />
</parent>
  • java.version
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<properties>
<!-- jdk版本 -->
<java.version>1.8</java.version>
<!-- mybatis版本号 -->
<mybatis.plus.version>3.1.0</mybatis.plus.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<!-- ali fastjson -->
<fastjson.version>1.2.57</fastjson.version>
<maven.resources.overwrite>true</maven.resources.overwrite>
</properties>
修改成:
<properties>
<!-- jdk版本 -->
<java.version>11</java.version>
<!-- mybatis版本号 -->
<mybatis.plus.version>3.1.0</mybatis.plus.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<!-- ali fastjson -->
<fastjson.version>1.2.57</fastjson.version>
<maven.resources.overwrite>true</maven.resources.overwrite>
</properties>
  • groovy-all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- 反编译的工具 -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>3.0.0-alpha-1</version>
</dependency>
修改成:
<!-- 反编译的工具 -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>3.0.8</version>
<type>pom</type>
</dependency>
因为jdk11对低版本的groovy-all不支持启动会报错。
  • maven-compiler-plugin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-parameters</arg> <!-- 设置编译带上参数,可以使用反射获取到参数名,而不是arg0 等 -->
</compilerArgs>
<excludes>
<!-- 排除为了解决veracode用的实现类 -->
<exclude>**/omega/impl/**</exclude>
</excludes>
</configuration>
</plugin>

修改成:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
<compilerArgs>
<arg>-parameters</arg> <!-- 设置编译带上参数,可以使用反射获取到参数名,而不是arg0 等 -->
</compilerArgs>
<excludes>
<!-- 排除为了解决veracode用的实现类 -->
<exclude>**/omega/impl/**</exclude>
</excludes>
</configuration>
</plugin>

四:打包指令

  • 备注
1
使用maven打包的时候要使用apache-maven-3.5.0以上的版本。
  • actminisite_sit.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@echo off
REM 声明采用UTF-8编码
chcp 65001
title mvn package actminisite
:: RenJie


:: jdk11
call jdk11
:: jdk11要使用maven 3.5.0 以上的版本
set PATH=%PATH%;D:\my-tools\apache-maven-3.5.0\bin;D:\bat\ant;D:\bat\my;D:\my-tools\python-3.7.4-embed-amd64;


::打jar包
del C:\Users\Administrator\Desktop\actminisite.jar
echo =====================================================
echo ===== 打包友邦友享actminisitejar包 ======
echo =====================================================
set versionPath=D:\javaProgram\actminisite\trunk\code\src\main\resources\static
set pomPath=D:\javaProgram\actminisite\trunk\code
D:
cd %versionPath%
:: 生成version.jsp和version.html
call create_version
::打包
cd %pomPath%

call mvn clean package -Dmaven.test.skip=true
:: 删除版本号文件
cd %versionPath%
del version.jsp
del version.html
:: copy文件到desktop
XCOPY D:\javaProgram\actminisite\trunk\code\target\actminisite.jar C:\Users\Administrator\Desktop\ /Y/F
echo package success

*************感谢您的阅读*************