JDK8 升级至JDK19

优质博文IT-BLOG-CN

目前部分项目使用JDK8,部分项目使用JDK19因此,环境变量中还是保持JDK8,只需要下载JDK19免安装版本,通过配置IDEA就可以完成本地开发。

一、IDEA 环境设置

【1】通过快捷键CTRL + SHIFT + ALT + S或者File->Project Structure...设置SDKLanguage level,不存在JDK19时可通过Edit添加

【2】设置下方的Modules中的Sources模块和Dependencies模块


【3】设置下方的Platform Setting中的SDKs模块

【4】设置File->Settings...中的Build,Excepotion,Deployment下的Builder Tools->Maven->Runner模块
【5】设置File->Settings...中的Build,Excepotion,Deployment下的Compiler->Java Compiler模块
【6】如果使用了Tomcat点击Edit Configurations...后,设置JRE模块


【7】设置完成后通过Maven插件进行编译,因为通过控制台执行mvn命令时使用的是本地环境变量中配置的JDK版本,而Maven插件使用的是IDEA中配置的JDK版本。

二、POM依赖修改

在项目父模块的pom.xml中添加如下plugin

xml 复制代码
<properties>
        <maven.compiler.plugin.version>3.10.1</maven.compiler.plugin.version>
        <java.version>19</java.version>
</properties>
<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven.compiler.plugin.version}</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <compilerArgument>--enable-preview</compilerArgument>
                        <compilerVersion>${java.version}</compilerVersion>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.12.4</version>
                    <configuration>
                        <argLine>
                            --add-opens java.base/java.lang=ALL-UNNAMED
                            --add-opens java.base/java.lang.reflect=ALL-UNNAMED
                            --add-opens java.base/sun.reflect.annotation=ALL-UNNAMED
                            --add-opens java.base/java.math=ALL-UNNAMED
                            --add-opens java.base/java.util=ALL-UNNAMED
                            --add-opens java.base/sun.util.calendar=ALL-UNNAMED
                            --add-opens java.base/java.io=ALL-UNNAMED
                            --add-opens java.base/java.net=ALL-UNNAMED
                            --add-opens java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED
                        </argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.3.1</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

后面遇到最多的就是项目包的冲突问题,依次解决就好

相关推荐
神仙别闹7 分钟前
基于Java实现的(GUI)华容道小游戏
java·gui
JosieBook8 分钟前
【面试题】2025年百度校招Java后端面试题
java·开发语言·网络·百度
请你打开电视看看10 分钟前
观察者模式
java·观察者模式·设计模式
Mr.朱鹏13 分钟前
设计模式之策略模式-工作实战总结与实现
java·spring·设计模式·kafka·maven·策略模式·springbbot
Moment13 分钟前
毕业半年,终于拥有了两个近 500 star 的开源项目了 🤭🤭🤭
前端·后端·开源
计算机毕设指导615 分钟前
基于SpringBoot共享汽车管理系统【附源码】
java·spring boot·后端·mysql·spring·汽车·intellij idea
耐心的等待528330 分钟前
调大Vscode资源管理器字体
ide·vscode·编辑器
春风十里不如你95271 小时前
【设计模式】【行为型模式(Behavioral Patterns)】之责任链模式(Chain of Responsibility Pattern)
java·设计模式·责任链模式
云和数据.ChenGuang1 小时前
运维面试题.云计算面试题集锦
面试·运维面试题·云计算面试题·linux面试题