intellj運行,java 不支持發行版本xxx 的問題


問題

在Intellij idea中新建了一個Maven項目,運行時報錯如下:Error : java 不支持發行版本xxx


解決

假如本地運行用的是JDK12,報錯應該是項目編譯配置使用的Java版本不對,需要檢查一下項目及環境使用的Java編譯版本配置。
需要修改Intellij四個地方

根據官方文檔

Code Descriotion LANGUAGE_LEVEL
1.3 Plain old Java JDK_1_3
1.4 'assert' keyword JDK_1_4
5 'enum' keyword, generics, autoboxing etc. JDK_1_5
6 @Override in interfaces JDK_1_6
7 Diamonds, ARM, multi-catch etc. JDK_1_7
8 Lambdas, type annotations etc. JDK_1_8
9 Modules, private methods in interfaces etc. JDK_1_9
10 Local variable type inference JDK_10
11 Local variable syntax for lambda parameters JDK_11
12 No new language features JDK_12
12(Preview) Switch expressions JDK_12_PREVIEW
13 No new language features JDK_13
13(Preview) Switch expressions, text blocks JDK_13_PREVIEW
X Experimental features JDK_X



一、

在Intellij中點擊“File” -->“Project Structure”,看一下“Project”和“Module”欄目中Java版本是否與本地一致:

二、

在Intellij中點擊“File” -->“Project Structure”,看一下“Project”和“Module”欄目中Java版本是否與本地一致:

三、

點擊“Settings”-->“Bulid, Execution,Deployment”-->“Java Compiler”,Target bytecode version設為本地Java版本。(可以在Default Settings中把Project bytecode version 一勞永逸地配置成本地Java版本)

四、

如果上述配置完,還有問題。
可能jdk的版本可能會被maven項目覆蓋了。於是在 pom.xml 文件中,我們指定編譯器的jdk版本。
在maven的文件下配置,如果只希望在單個工程中運行,則在單個工程對應maven文件中配置,如果需要全局,則在全局的maven文件中配置

<plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration> <!--讓編譯器使用本地的13版本jdk-->
            <source>13</source>
            <target>13</target>
        </configuration>
    </plugin>

把上面這一串代碼直接丟到以下代碼塊中就可以(沒有build模塊就自己寫)。在復制時要注意 maven-compiler-plugin 的版本,如果版本不同就在 version 里修改。

<build>
	<plugins>
		...
	</plugins>
</build>

五、

如果還有問題,則可能工程內還有其他配置了運行環境的文件,如xml、iml文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM