idea修改language level版本實現(xiàn)方式
1、前言
使用場景,當原本JDK1.8版本的編譯環(huán)境時,突然加載一個JDK17的項目時,項目reload或maven install時經(jīng)常報錯language level版本問題,以下是解決方案。
2、操作步驟
2.1 修改系統(tǒng)環(huán)境變量
多個JDK為了方便切換,我的環(huán)境變量是這樣設置的,JAVA_HOME負責切換版本,Path變量就跟平時配置的一樣。
需要到哪個版本就切換JAVA_HOME里面的變量就行。

2.2 修改MAVEN的配置
maven的配置文件在安裝目錄的setting.xml,需配置多個JDK的配置。
<profiles>里面配置多個JDK,<activeProfiles>里面負責切換配置。
如下方配置:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>aliyun-public</name>
<url>https://maven.aliyun.com/repository/public/</url>
</mirror>
<mirror>
<id>aliyun-spring</id>
<mirrorOf>spring</mirrorOf>
<name>aliyun-spring</name>
<url>https://maven.aliyun.com/repository/spring</url>
</mirror>
<!-- 中央倉庫在中國的鏡像 -->
<mirror>
<id>maven.net.cn</id>
<name>one of the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 中央倉庫1 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>https://repo1.maven.org/maven2/</url>
</mirror>
</mirrors>
<!-- 以下是JDK配置 -->
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
<profile>
<id>jdk-17</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>17</jdk>
</activation>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
<activeProfiles>
<!-- <activeProfile>jdk-1.8</activeProfile>-->
<activeProfile>jdk-17</activeProfile>
</activeProfiles>
</settings>
2.3 idea配置修改
(1)模塊設置菜單。

(2)模塊設置jdk。

(3)idea設置:file->setting,把圖片中的修改為你要的JDK版本。

(4)重載maven

(5)校驗,跟(1)的步驟一樣進入model setting,如下圖所示:

總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java?Stream比較兩個List的差異并取出不同的對象四種方法
今天開發(fā)一個需求時要對A和B兩個List集合遍歷,并比較出集合A有,而集合B沒有的值,下面這篇文章主要給大家介紹了關于Java?Stream比較兩個List的差異并取出不同對象的四種方法,需要的朋友可以參考下2024-01-01
Java統(tǒng)計接口調(diào)用頻率的五種方案及對比詳解
這篇文章主要介紹了五種接口調(diào)用頻率監(jiān)控方案,包括固定窗口計數(shù)器、滑動窗口計數(shù)器、AOP透明統(tǒng)計、Redis分布式統(tǒng)計和Micrometer+Prometheus,每種方案都有其優(yōu)缺點和適用場景,作者還分享了在實際項目中遇到的問題和解決方案,并提供了容量規(guī)劃建議,需要的朋友可以參考下2025-10-10
Java兩整數(shù)相除向上取整的方式詳解(Math.ceil())
在調(diào)外部接口獲取列表數(shù)據(jù)時,需要判斷是否已經(jīng)取完了所有的值,因此需要用到向上取整,下面這篇文章主要給大家介紹了關于Java兩整數(shù)相除向上取整的相關資料,需要的朋友可以參考下2022-06-06
Mybatis提示Tag name expected的問題及解決
MyBatis是一個開源的Java持久層框架,用于將Java對象與數(shù)據(jù)庫表進行映射,它提供了一種簡單、靈活的方式來訪問數(shù)據(jù)庫,同時也提供了強大的SQL映射和查詢功能2025-01-01

