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,修改后项目默认就使用了该配置,如下图所示。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值