IntelliJ IDE 在使用 Try-Catch with Resources 时出现错误

我试图使用JDK 7的“尝试捕获资源”语句;IntelliJ强调了我的资源线,说

此语言级别不支持资源试用。

当我尝试编译时,我得到:

java:-source 1.6 中不支持 try-with-resources(使用 -source 7 或更高版本来启用 try-with-resources)

我检查了是否为我的当前项目启用了资源试用,以及我的项目是否正在使用 JDK 7(库:C:\Program Files\Java\jdk1.7.0_11)。有什么想法吗?我不知道要更改哪个选项(如果这是问题所在)。


答案 1

单击“文件”菜单,打开“项目结构”,然后在“设置”下应有“项目”。在该选项卡中,将有一个SDK设置选项,用于指定要使用的语言版本。

有关更多详细信息,请参阅 JetBrains 帮助页面(“项目语言级别”)。


答案 2

发生此错误的唯一方式是模块的语言级别未设置为 1.7+。这需要在 IntelliJ 项目/模块设置和/或项目文件中进行设置。pom.xml

IntelliJ

enter image description here

马文

<properties>
  <maven.compiler.source>1.7</maven.compiler.source>
  <maven.compiler.target>1.7</maven.compiler.target>

模块设置可以覆盖项目设置;如果在项目级别设置此项,并且您在模块中遇到特定问题,请同时检查模块设置。


推荐