(转)IDEA 报错:not supported at language level "5"

【转载原因:同样问题,使用博主方法解决】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/wang_8101/article/details/99706731

今天使用IDEA新创建了一个Maven项目,在使用try内包含流,这种语法的时候,一直报错:
“try-with-resource are not supported at language level “5” ”
在这里总结一下解决方式:

  1. 一开始以为我的IDEA项目的jak版本不对,但是检查了一下发现没得问题:
    (转)IDEA 报错:not supported at language level "5"
  2. 后来经过百度,发现还有一个配置编译时版本的地方
    3.(转)IDEA 报错:not supported at language level "5"
  3. 改了这个地方之后还是不行,但是通过IDEA自带的alt+enter修复功能会提示你设置一个版本到7
  4. 选择这个更改后,果然编译不报错了,比对发现pom文件中多了这么一部分:
    (转)IDEA 报错:not supported at language level "5"
  5. 百度后发现:maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。

maven的默认编译使用的jdk版本很低(很明显是5),使用maven-compiler-plugin插件可以指定项目源码的jdk版本,编译后的jdk版本,以及编码。