关于JAVA‘无效目标发行版 17’ XX的解决方案
在跑springmvc时候报错了,以下是一些试过的方法,记录一下。
方法一:修改settings中的java compiler
原来是17,我这里需要用的是java8所以修改成与你对应的java版本。
方法二:修改project structrue中的JDK版本
以上两个同理,修改成与你对应的java版本,我这里用的是8。
方法三:修改Run config
改成对应的版本,还有settings里的importing最好也修改一下,确保一致。
方法四:重点来了,以上三种方法都不行,有很大的概率是maven的问题
网上有些方法在pom.xml文件中配置java版本我试了不行,你们可以试试看,还不行的话,需要修改maven的配置文件。
在pom.xml中加上
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
我最终的解决办法:修改本地maven settings.xml中的jdk版本(为什么是这个原因呢,因为我发现每次maven run之后,方法一、二中的java版本又变成17了就很奇怪)
发现原因了,本地的maven默认的java编译版本是17
修改为1.8后问题解决
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
找不到maven本地地址看这