解决IDEA运行时报错如下:Error : java 不支持发行版本xxx

问题

在Intellij idea中新建了一个Maven项目,运行时报错如下:Error : java 不支持发行版本xxx

解决

假如本地运行用的是JDK12,报错应该是项目编译配置使用的Java版本不对,需要检查一下项目及环境使用的Java编译版本配置。
需要修改Intellij四个地方

根据官方文档

CodeDescriotionLANGUAGE_LEVEL
1.3Plain old JavaJDK_1_3
1.4'assert' keywordJDK_1_4
5'enum' keyword, generics, autoboxing etc.JDK_1_5
6@Override in interfacesJDK_1_6
7Diamonds, ARM, multi-catch etc.JDK_1_7
8Lambdas, type annotations etc.JDK_1_8
9Modules, private methods in interfaces etc.JDK_1_9
10Local variable type inferenceJDK_10
11Local variable syntax for lambda parametersJDK_11
12No new language featuresJDK_12
12(Preview)Switch expressionsJDK_12_PREVIEW
13No new language featuresJDK_13
13(Preview)Switch expressions, text blocksJDK_13_PREVIEW
XExperimental featuresJDK_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文件

作者: code906

出处:https://www.cnblogs.com/code906/p/12668050.html

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值