java: -source 1.5 中不支持 lambda 表达式
我们在使用IntelliJ IDEA编译项目的时候,会因为各种原因导致自动更改项目的language level ,因此需要重新设置, 例如我们在使用IntelliJ IDEA导入项目时,有时默认的java language level是1.5,甚至我们在使用IntelliJ IDEA提示自动导入Maven依赖时也会自动修改 language level,level过低很多新的语法就会报错,因此我
我们在使用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,修改后项目默认就使用了该配置,如下图所示。
更多推荐
所有评论(0)