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>

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

相关推荐
元界metalite6 分钟前
SpringBoot分页接口怎么设计-pageSize不设上限会发生什么
后端
IKUN家族27 分钟前
SpringBoot日志
java·开发语言
DianSan_ERP40 分钟前
WMS接入电商平台自动化履约实战:一张订单从平台到出库的接口时序设计
java·前端·网络·数据库·安全·架构·自动化
liangsheng_g1 小时前
微服务本地开发零配置隔离方案
java·微服务·架构
不服老的小黑哥1 小时前
六、集合处理(collections.md)
java
IT爱学堂1 小时前
Go开发疑难杂症终结者通关指南
后端
大勇前进1 小时前
从10分钟到10秒:一个真实慢查询的SQL Server优化全记录
后端
lisw051 小时前
计算与科学哲学(Philosophy of Computing and Science)
java·开发语言·人工智能
站大爷IP1 小时前
被Python异步坑了三年,才搞懂await和create_task的区别
后端
大白801 小时前
你的数据库密码还在用明文?SQL Server 凭据管理的 3 种现代方案
后端