50

JDK 7 の「try-catch with resources」ステートメントを使用しようとしています。IntelliJ は私のリソース ラインを強調し、次のように述べています。

リソースの試行は、この言語レベルではサポートされていません。

コンパイルしようとすると、次のようになります。

java: -source 1.6 では try-with-resources はサポートされていません (tr​​y-with-resources を有効にするには -source 7 以降を使用してください)

現在のプロジェクトで try-with-resources が有効になっていること、およびプロジェクトが JDK 7 (ライブラリ: C:\Program Files\Java\jdk1.7.0_11) を使用していることを確認しました。何か案は?どのオプションを変更すればよいかわかりません (それが問題である場合)。

4

5 に答える 5

53

[ファイル]メニューをクリックし、[プロジェクト構造]を開きます。[設定]の下に[プロジェクト]が表示されます。そのタブ内に、使用する言語バージョンを指定するSDK設定オプションがあります。

詳細(「プロジェクト言語レベル」)については、JetBrainsヘルプページを参照してください。

于 2013-01-22T13:51:49.393 に答える
53

このエラーが発生する唯一の方法は、モジュールの言語レベルが 1.7+ に設定されていない場合です。これは、IntelliJ プロジェクト/モジュール設定、プロジェクトのpom.xmlファイル、またはその両方で設定する必要があります。

IntelliJ

ここに画像の説明を入力

メイヴン

<properties>
  <maven.compiler.source>1.7</maven.compiler.source>
  <maven.compiler.target>1.7</maven.compiler.target>

モジュール設定はプロジェクト設定を上書きできます。これをプロジェクト レベルで設定し、モジュールに特定の問題がある場合は、モジュールの設定も確認してください。

于 2013-01-22T13:56:18.583 に答える