安装的jdk1.8但是启动项目时却爆出jdk为1.7的原因及解决方法
今天down下来一个新项目,启动时提示:Error:(422, 132) java: -source 1.7 中不支持 lambda 表达式
(请使用 -source 8 或更高版本以启用 lambda 表达式)
可是我电脑明明安装的是jdk1.8,为了防止记错,特意用cmd查了一下:
这就很奇怪了,为什么安装的jdk1.8,项目启动却用的jdk1.7。
网上说是环境变量配置的原因,jdk的路径配置在Oracle后面,所以项目启动时会先使用Oracle自带的jdk,所以就出现上面的诡异状况。
可是修改完环境变量依旧不起作用,启动项目仍然报jdk1.7
最后发现是项目maven的配置文件中使用的是jdk1.7
本以为到此为止就可以了,刷新-启动-又报错了。只好接着排查原因,发现项目的language level为1.7,依赖为1.7
修改后启动仍然报错,继续查找原因。发现是java compiler配置有问题
本以为这次总应该可以了,结果启动仍然报错。最后发现是项目pom文件中配置的是1.7
修改-启动,这次终于正常了。