IDE的IntelliJ使用与资源的try-catch时给出了错误(IntelliJ IDE giv

2019-07-18 13:27发布

我试图使用JDK 7的“的try-catch与资源”的声明; 的IntelliJ凸显我的资源线,说

尝试与 - 资源没有在这个语言层面的支持。

当我尝试编译,我得到:

Java的:尝试与 - 资源不-source 1.6支持(使用-source 7或更高版本来启动试与 - 资源)

我检查了尝试,以资源为我当前的项目已启用,并且我的计划是使用JDK 7(库:C:\ Program Files文件\的Java \ jdk1.7.0_11)。 有任何想法吗? 我想不出有什么选项可以更改(如果那是连问题)。

Answer 1:

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

见JetBrains的帮助页面了解详情(“项目的语言水平”)。



Answer 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>

模块的设置可以覆盖项目设置; 如果设置此项目级别,你有一个模块中的具体问题,检查模块设置为好。



Answer 3:

除了提到的指示,我也不得不指定每个模块的语言水平以及。 文件 - >项目结构 - >模块



Answer 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)))) {

容易犯的错误,当你不使用你的资源可关闭的结果打算。 但它有一个误导性的错误。



Answer 5:

的模块设置图示。



文章来源: IntelliJ IDE gives error when using Try-Catch with Resources