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>

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

相关推荐
卑微的Coder几秒前
Redis Set集合命令、内部编码及应用场景(详细)
java·数据库·redis
CrissChan28 分钟前
Pycharm 函数注释
java·前端·pycharm
启航挨踢1 小时前
java学习电子书推荐
java
wgslucky1 小时前
Dubbo报错:module java.base does not “opens java.lang“ to unnamed module
java·开发语言·dubbo
DougLiang3 小时前
关于easyexcel动态下拉选问题处理
java·开发语言
mochensage3 小时前
C++信息学竞赛中常用函数的一般用法
java·c++·算法
烛阴3 小时前
bignumber.js深度解析:驾驭任意精度计算的终极武器
前端·javascript·后端
计蒙不吃鱼3 小时前
一篇文章实现Android图片拼接并保存至相册
android·java·前端
理智的灰太狼3 小时前
题目 3241: 蓝桥杯2024年第十五届省赛真题-挖矿
职场和发展·蓝桥杯
服务端技术栈3 小时前
电商营销系统中的幂等性设计:从抽奖积分发放谈起
后端