idea如何通過maven指定JDK版本
idea通過maven指定JDK版本
問題描述
如圖:
設(shè)置了通過idea設(shè)置了jdk的版本之后,運(yùn)行 maven build,或者過一段時(shí)間之后,項(xiàng)目的編譯 jdk 版本會(huì)回到 1.5 版本,再次修改還是回到1.5版本。

解決方式
This error means that you must not modify the project structure and build configuration like project dependencies, compiler settings, sources/resources directories etc using IDE UI dialogs. Instead, you must do corresponding changes in the Maven pom.xml file.
Because otherwise you will loose all such changes made in IDE UI after the project fill be Reloaded by the IDE from the maven build files (pom.xml).
1. 簡(jiǎn)單地說
- Maven使用的默認(rèn)Java編譯器版本是Java 1.5。
- 為了使Maven使用Java編譯器的較新版本編譯Java代碼,需要在項(xiàng)目的POM文件(pom.xml)中顯式指定Java編譯器。
2. pom配置
- 在項(xiàng)目的父pom下添加插件:
<!--通過maven設(shè)置jdk的版本 防止idea設(shè)置jdk版本之后-->
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>JDK對(duì)應(yīng)的Maven版本
| JDK版本 | Maven版本支持情況 |
|---|---|
| JDK 1.3 | Maven 2.0.11及以下 |
| JDK 1.4 | Maven 2.0.11及以下 |
| JDK 1.5 | Maven 2.0.11及以上 |
| JDK 1.6 | Maven 2.0.11及以上 |
| JDK 1.7 | Maven 3.0及以上 |
| JDK 1.8 | Maven 3.3及以上 |
| JDK 9 | Maven 3.5.0及以上 |
| JDK 10 | Maven 3.5.3及以上 |
| JDK 11 | Maven 3.5.4及以上 |
| JDK 12 | Maven 3.6.0及以上 |
| JDK 13 | Maven 3.6.1及以上 |
| JDK 14 | Maven 3.6.2及以上 |
| JDK 15 | Maven 3.6.3及以上 |
| JDK 16 | Maven 3.8.1及以上 |
| JDK 17 | Maven 3.8.3及以上 |
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java語(yǔ)言中cas指令的無(wú)鎖編程實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了Java語(yǔ)言中cas指令的無(wú)鎖編程實(shí)現(xiàn)實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-09-09
java中的過濾器 Filter應(yīng)用小結(jié)
文章主要介紹了Java Web中的過濾器(Filter)的基本概念、生命周期、配置和應(yīng)用,過濾器可以攔截請(qǐng)求和響應(yīng),用于執(zhí)行一些預(yù)處理或后處理操作,如設(shè)置編碼、校驗(yàn)用戶身份等,感興趣的朋友一起看看吧2025-03-03
Java中finally關(guān)鍵字對(duì)返回值的影響詳解
這篇文章主要介紹了Java中finally關(guān)鍵字對(duì)返回值的影響詳解,執(zhí)行完try catch里面內(nèi)容準(zhǔn)備return時(shí),如果還有finally需要執(zhí)行這是編譯器會(huì)為我們?cè)黾右粋€(gè)全局變量去暫存return 的值,等到finally執(zhí)行完成去return這個(gè)全局變量,需要的朋友可以參考下2024-01-01
MyBatis Plus Mapper CRUD接口測(cè)試方式
在數(shù)據(jù)庫(kù)管理系統(tǒng)中,插入記錄是添加新數(shù)據(jù)條目,而刪除操作包括根據(jù)主鍵ID單條刪除和批量刪除,也可以基于特定條件進(jìn)行刪除,刪除操作的SQL語(yǔ)句是通過鍵值對(duì)在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value22024-09-09
SpringBoot整合MyBatis和MyBatis-Plus請(qǐng)求后不打印sql日志的問題解決
本文主要介紹了SpringBoot整合MyBatis和MyBatis-Plus請(qǐng)求后不打印sql日志的問題解決文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Java多線程中的ThreadPoolExecutor使用解析
這篇文章主要介紹了Java多線程中的ThreadPoolExecutor使用解析,作為線程池的緩沖,當(dāng)新增線程超過maximumPoolSize時(shí),會(huì)將新增線程暫時(shí)存放到該隊(duì)列中,需要的朋友可以參考下2023-12-12
如何實(shí)現(xiàn)Spring?Event(異步事件)
這篇文章主要介紹了如何實(shí)現(xiàn)Spring?Event(異步事件)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

