问题
在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文件中配置
maven-compiler-plugin
3.8.0
13
把上面这一串代码直接丢到以下代码块中就可以(没有build模块就自己写)。在复制时要注意 maven-compiler-plugin 的版本,如果版本不同就在 version 里修改。
...
五、
如果还有问题,则可能工程内还有其他配置了运行环境的文件,如xml、iml文件