在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文件
原文:https://www.cnblogs.com/code906/p/12668050.html