【问题标题】:IntelliJ IDE gives error when using Try-Catch with ResourcesIntelliJ IDE 在将 Try-Catch 与资源一起使用时出错
【发布时间】:2013-01-05 18:29:00
【问题描述】:

我正在尝试使用 JDK 7 的“try-catch with resources”语句; IntelliJ 突出显示我的资源行,说

此语言级别不支持 Try-with-resources。

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

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

我检查了我当前的项目是否启用了 try-with-resources,并且我的项目正在使用 JDK 7(库:C:\Program Files\Java\jdk1.7.0_11)。有任何想法吗?我不知道要更改哪个选项(如果这甚至是问题)。

【问题讨论】:

  • 查看文件 -> 保护 jdk 和语言级别都设置为 7 的结构(或 ctrl-alt-shift s)

标签: java intellij-idea try-catch try-catch-finally try-with-resources


【解决方案1】:

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

请参阅JetBrains help page 了解更多详情(“项目语言级别”)。

【讨论】:

    【解决方案2】:

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

    IntelliJ

    Maven

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

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

    【讨论】:

    • 这在 AS 0.3.4 及更高版本中不再有效。
    • @Adam Android Studio?基于 Intellij beta 的那个?什么具体是无效的?尽管没有人谈论 Android 开发,但提供可操作的信息不是更有意义吗?
    • 这就是我遇到这个问题的原因。
    • 我仍然需要在“模块”选项卡中进行更改,它可以覆盖“项目”选项卡中的语言级别。因此,如果问题仍然存在,请检查“模块”选项卡中的语言级别设置。
    • @chris544 说得好;我会将其编辑为答案。
    【解决方案3】:

    除了提到的说明之外,我还必须指定每个模块的语言级别。文件 -> 项目结构 -> 模块

    【讨论】:

    • 谢谢我也必须这样做,你是救命稻草
    【解决方案4】:

    还要检查您的代码。你可能不小心做了这样的事情:

    try (HttpClients.createMinimal().execute(new HttpGet(String.format(
              "http://127.0.0.1:%s/extra/LifecycleServlet?action=shutdown",
              runningPort)))) {
    

    而不是

    try (CloseableHttpResponse response = HttpClients.createMinimal().execute(new HttpGet(String.format(
              "http://127.0.0.1:%s/extra/LifecycleServlet?action=shutdown",
              runningPort)))) {
    

    当您不打算使用可关闭资源的结果时容易犯错误。但是它会有那个误导性的错误。

    【讨论】:

      【解决方案5】:

      模块设置的图示。

      【讨论】:

        猜你喜欢
        • 2019-05-27
        • 2013-10-24
        • 2015-02-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多