Skip to content

IDEA环境SpringBoot工程升级JDK17至openJDK21经验总结

约 359 字大约 1 分钟

openJDK21IDEASpringBoot

2025-10-19

SDKs 添加openjdk - 21

image-20251019213225618

工程SDK选择添加的openjdk21

注意编译级别也是 21

image-20251019213350081

IDEA 编译配置

Use compiler 使用 javac 不要选择 eclipse

Project bytecode version 选择 21

每个Module 都选择 21

image-20251019213503737

工程配置

pom.xml

properties

添加

<java.version>21</java.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>

lombok版本选择与21兼容版本

<lombok.version>1.18.34</lombok.version>

<!-- Lombok -->
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>${lombok.version}</version>
  <optional>true</optional>
</dependency>

修改maven-build

<build>
        <plugins>
            <!-- Spring Boot打包插件 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>

            <!-- Maven编译插件 -->
<!--            <plugin>-->
<!--                <groupId>org.apache.maven.plugins</groupId>-->
<!--                <artifactId>maven-compiler-plugin</artifactId>-->
<!--                <version>3.12.0</version>-->
<!--                <configuration>-->
<!--                    <source>17</source>-->
<!--                    <target>17</target>-->
<!--                    <encoding>UTF-8</encoding>-->
<!--                </configuration>-->
<!--            </plugin>-->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <!-- 3.11.0+ 支持 JDK 21 -->
                <version>3.11.0</version>
                <configuration>
                    <source>21</source>
                    <target>21</target>
                    <encoding>UTF-8</encoding>
                    <!-- 显式指定注解处理器(Lombok 需要) -->
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.34</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>

清空缓存重启

执行 maven clean

image-20251019214018551

执行 invalidate Caches 重启Idea

image-20251019214053108

重启后效果

编译、启动均恢复正常。

image-20251019214145850