私は、JDK 7の「リソースとの試行錯誤」ステートメントを使用しようとしています。 IntelliJは私のリソースラインを強調し、言っています
Try-with-resourcesは、この言語レベルではサポートされていません。
コンパイルしようとすると、次のようになります:
Java:try-with-resourcesは-source 1.6ではサポートされていません(-source 7以降を使用してtry-with-resourcesを有効にします)
Try-with-resourcesが現在のプロジェクトで有効になっており、プロジェクトで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)))) {
クローズ可能なリソースの結果を使用するつもりがない場合に犯しやすい間違い。まだ誤解を招くエラーがあります。