微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java: -source 1.5 中不支持 lambda 表达式

我们在使用IntelliJ IDEA编译项目的时候,会因为各种原因导致自动更改项目的language level ,因此需要重新设置, 例如我们在使用IntelliJ IDEA导入项目时,有时认的java language level是1.5,甚至我们在使用IntelliJ IDEA提示自动导入Maven依赖时也会自动修改 language level,level过低很多新的语法就会报错,因此我们需要修改项目中Java的language level,下面就跟着小编一起解决IDEA自动重置Language Level的问题吧。
1、使用IDEA时,导入的Maven项目认的Language Level和JavaCompiler JDK的版本都是1.5,例如上图中使用菱形运算符就会报错,所以项目可能出现一堆错。我们展开项目的目录,可以在External Libraries看到jdk的版本,如下图所示,虽然External Libraries的jdk版本是1.8,但是代码中依旧提示java language level是1.5。
2、首先我们可以修改JavaCompiler的版本,在菜单栏找到File–》Setting–》Build,Execution,Deployment–》Compiler–》Java Compiler–》Project Bytecode Version,改成你想要的JDK版本,如下图所示。

在这里插入图片描述

3、然后是在项目的Module中设置了认的JDK版本,我们在工程上按快捷键F4就能够到这个设置页面,然后在右侧设置Language level即可,如下图所示。

在这里插入图片描述

4、另外我们还可以通过File–》Project Structure–》Project Settings–》Project–》Project language level来修改。上述几种设置都会有问题,在使用一段时间后可能还会因为某些操作又自动重置成JDK1.5了,版本太低很多新特性没办法使用,导致编译出错。

在这里插入图片描述

在这里插入图片描述

5、以上的操作在Maven项目发生变化时而自动update时,依然会被重置,因此我们只需要保证上面的设置版本号是对的即可,最根本的解决方案就是在pom.xml文件中指定项目编译的Java版本,即maven-compiler-plugin的版本,该版本会影响Language Level和JavaCompiler,修改后项目认就使用了该配置,如下图所示。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐