我试图使用JDK 7的“的try-catch与资源”的声明; 的IntelliJ凸显我的资源线,说
尝试与 - 资源没有在这个语言层面的支持。
当我尝试编译,我得到:
Java的:尝试与 - 资源不-source 1.6支持(使用-source 7或更高版本来启动试与 - 资源)
我检查了尝试,以资源为我当前的项目已启用,并且我的计划是使用JDK 7(库:C:\ Program Files文件\的Java \ jdk1.7.0_11)。 有任何想法吗? 我想不出有什么选项可以更改(如果那是连问题)。
单击文件菜单,打开项目结构上,然后在“设置”应该有“项目”下。 在该选项卡,就会有指定要使用的语言版本的SDK设置选项。
见JetBrains的帮助页面了解详情(“项目的语言水平”)。
会出现此错误的唯一方法是,如果你的模块的语言水平未设置为1.7+。 这需要在您的任一项目的IntelliJ /模块的设置,该项目的进行设置pom.xml
文件,或两者兼而有之。
的IntelliJ
Maven的
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
模块的设置可以覆盖项目设置; 如果设置此项目级别,你有一个模块中的具体问题,检查模块设置为好。
除了提到的指示,我也不得不指定每个模块的语言水平以及。 文件 - >项目结构 - >模块
另外,请检查你的代码。 你可能不小心做了这样的事情:
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)))) {
容易犯的错误,当你不使用你的资源可关闭的结果打算。 但它有一个误导性的错误。