一、问题描述
运行导入的maven项目,发现报错:Error:java: 错误: 不支持发行版本 5
二、问题分析
1.其实是常见问题,就是jdk版本设置的问题。但我们本地明明用的是jdk11啊,为什么这里报不支持jdk5呢?大概是本地用的11.0,但idea默认编译设置的是5.0吧。
2.个人理解:我们导入的是maven工程,但是在pom.xml或者settings.xml中指定编译的版本,所以idea会帮我们默认设置一个5.0版本用来编译。
三、解决方法
1.settings.xml文件(推荐)
找到maven安装目录下的config包下的settings.xml,加入以下代码:
<profile>
<id>development</id>
<activation>
<jdk>11.0</jdk>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>11.0</maven.compiler.source>
<maven.compiler.target>11.0</maven.compiler.target>
<maven.compiler.compilerVersion>11.0</maven.compiler.compilerVersion>
</properties>
</profile>
含义就是指定编译的jdk版本为11.0(你可以设置你本地的jdk版本),更具体的解释详见:
然后重新导入maven工程,就会发现module的language level自动变成11.0了,如图所示:
2.module下的pom.xml
注意:该方法只对本module有效
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>13</source>
<target>13</target>
</configuration>
</plugin>
</plugins>
</build>
相当于指定编译的版本是13,当然你可以改成自己本地的版本。(这里不改成自己的版本还是会报错的,务必搞清楚自己的jdk大版本是哪个)