web-dev-qa-db-ja.com

この言語レベルでサポートされていないリソースで試してください

IntelliJを使用していますIDEA Ultimate 2016.2.1、Project SDKを1.8バージョンに、Project Language Levelを8に、Module SDKを1.8バージョンに、JDKホームパスを/ Library /に設定しています。 Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home。

IDEを再起動しました。

それでも、この言語レベルではサポートされていないtry-with-resourcesに関する醜い警告が表示されます。私はIntelliJで言語レベル8未満を使用していないので、何かが更新されていないことが原因である可能性はありません。私はgradleビルド構成を使用しています-クリーンビルドされて実行しようとしました-1.5を実行していると言いますが、1.5がどこに言及されているのかわかりません。私が使用しているbuild.gradleで:

 apply plugin: 'Java'
 apply plugin: 'application'
 sourceCompatibility = 1.8

IntelliJバグを報告する必要がありますか、それとも何か不足していますか?

編集:

IntelliJのシステム外のtermianlでgradleを実行すると、問題なく実行されます。したがって、問題はIntelliJに関連しています。

7
Calicoder

IntelliJは、デフォルトのモジュールを、設定されたプロジェクトSDKと一致しない言語レベルにデフォルト設定することがあります。プロジェクトエクスプローラーでモジュールを右クリックし、モジュール設定を選択してから、言語レベルタブを選択してください。これがJava 5に設定されている場合は、Java 8.に更新します。

9
Aaron Davis

@Calicoderは、Javaコンパイラのバージョンを1.7または1.8に変更しようとしています。

enter image description here

これがお役に立てば幸いです。

3
YouAreAwesome

Try-with-resourcesが正しいセマンティクスを使用していることを確認してください。たとえば、これ:

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

}

同じエラーメッセージが表示されます。

2
ayahuasca