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-jdkeclipse-temurin:25-jdk。openjdk:21-jdk也修改为eclipse-temurin:25-jdk
  • 运行服务的镜像可考虑使用eclipse-temurin:25-jre

使用maven wrapper

找到文件mvnwmvnw.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”)

总结

升级很成功,达成了目标。

关联文档

把java17升级到java21