尝试使用此语言级别不支持的资源

Cal*_*der 7 java intellij-idea gradle try-with-resources

我正在使用IntelliJ IDEA Ultimate 2016.2.1,将Project SDK设置为我的1.8版本,将Project Language Level设置为8,将模块SDK设置为我的1.8版本,将JDK主路径设置为/Library/Java/JavaVirtualMachines/jdk1.8.0_91. JDK /内容/首页.

我重新启动了IDE.

尽管如此,我对这种语言级别不支持的资源尝试提出了丑陋的警告.我没有在IntelliJ中使用低于语言级别8,所以这不能归因于没有刷新的东西.我正在使用gradle构建配置 - 清理构建并尝试运行 - 说我正在运行1.5但我无法弄清楚提到1.5的位置.在build.gradle我正在使用:

 apply plugin: 'java'
 apply plugin: 'application'
 sourceCompatibility = 1.8
Run Code Online (Sandbox Code Playgroud)

我应该提交IntelliJ错误还是我还缺少某些东西?

编辑:

在IntelliJ系统之外的termianl中运行gradle运行良好.所以问题是IntelliJ相关.

Aar*_*vis 9

我发现IntelliJ有时会将模块默认为与设置项目SDK不匹配的语言级别.尝试右键单击项目资源管理器中的模块,然后选择模块设置,然后选择语言级别选项卡.如果将其设置为Java 5,则将其更新为Java 8.


aya*_*sca 9

确保您的 try-with-resources 使用正确的语义。例如,这个:

try (new BufferedReader(request.getReader())) {

}
Run Code Online (Sandbox Code Playgroud)

将产生相同的错误消息。

  • 仅供参考:解决方案的示例可以是: `try ( BufferedReader br = new BuffererdReader ( request.getReader ( ) ) ) { }` (3认同)