java25是当前(2026-04-14)最新的一个LTS版本。我目前使用的java是21,所以升级一下,故有此记录。
目标
要保证项目在不修改java代码的情况下可以正常编译、打包、部署、运行。
步骤
父pom工程
注意要新建分支来修改。
修改:
- 提升父pom的版本
<java.version>21</java.version>中的21为25- lombok需要升级:从 1.18.30 到 1.18.42
- 此处被maven-compiler-plugin插件的配置configuration的source/target引用
- maven-compile 插件升级:从 3.10.0 到 3.15.0
- 配置中不再使用source/target属性,统一使用release,值是$
- 强制配置annotationProcessorPaths
<!-- add annotationProcessorPaths -->
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
- 修改maven wrapper为3.9.11,(有一个工程使用了3.6.3编译失败了)
- 修改
.drone.yml- .drone.yml是ci/cd工具,用于执行maven命令,将工程安装到maven本地仓库。
- 修改镜像
eclipse-temurin:21-jdk为eclipse-temurin:25-jdk。openjdk:21-jdk也修改为eclipse-temurin:25-jdk。
- 运行服务的镜像可考虑使用
eclipse-temurin:25-jre。
使用maven wrapper
找到文件mvnw和mvnw.cmd(可以去start.spring.io创建工程并下载到本地,里面就有这两个文件)并复制到工程根目录。
在工程根目录创建两层目录.mvn/wrapper,再在wrapper目录中创建一个文件,名叫“maven-wrapper.properties”,它的内容如下:
wrapperVersion=3.3.4
distributionType=only-script
#distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
distributionUrl=https://mirrors.huaweicloud.com/repository/maven/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
说明:
- distributionUrl指定maven的安装包的url。
- wrapperUrl指定maven wrapper的url。
- 如上配置只是我个人使用的,各位可以修改成自己的。
通用工程
- 修改使用的父pom的版本。
- 修改.drone.yml(见“父pom工程 - 修改
.drone.yml”)
web工程
- 修改使用的父pom的版本。
- 修改.drone.yml(见“父pom工程 - 修改
.drone.yml”)
总结
升级很成功,达成了目标。