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に関連しています。
IntelliJは、デフォルトのモジュールを、設定されたプロジェクトSDKと一致しない言語レベルにデフォルト設定することがあります。プロジェクトエクスプローラーでモジュールを右クリックし、モジュール設定を選択してから、言語レベルタブを選択してください。これがJava 5に設定されている場合は、Java 8.に更新します。
Try-with-resourcesが正しいセマンティクスを使用していることを確認してください。たとえば、これ:
try (new BufferedReader(request.getReader())) {
}
同じエラーメッセージが表示されます。