502

IntelliJ IDEA を使用して JUnit テストを実行すると、

ここに画像の説明を入力

どうすればこれを修正できますか?

  • SDK 1.7 の使用
  • モジュール言語レベルは 1.7

Maven ビルドは正常に動作します。(だから私はIDEA構成の問題でこれを信じています)

4

18 に答える 18

767

ほとんどの場合、Maven からインポートされたコンパイラ オプションが間違っている可能性があります。

コンパイラ オプション

また、スクリーンショットに示されているプロジェクトとモジュールのバイトコード ( target ) のバージョン設定も確認してください。

ソース言語レベルが構成されているその他の場所:

  • プロジェクトの構造 | 計画

事業

  • プロジェクトの構造 | モジュール (すべてのモジュールをチェック) | ソース

ソース

Mavenのデフォルトの言語レベル1.5 (5.0) です。上のスクリーンショットでは、このバージョンがモジュールの言語レベルとして表示されます。

これは、内部で maven-compiler-pluginpom.xml構成を使用して変更できます。

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

また

<project>
  [...]
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  [...]
</project>

Maven プロジェクトツールウィンドウで Maven プロジェクトを再インポートした後、IntelliJ IDEA はこの設定を尊重します。

再輸入

于 2012-10-15T17:26:27.350 に答える
359

IntelliJ 15、2016 & 2017

以下で説明する IntelliJ 13 & 14 と同様ですが、設定/環境設定パネルに追加のレベルがあります: Settings > Build, Execution, Deployment > Compiler > Java Compiler

ここに画像の説明を入力

IntelliJ 13 & 14

IntelliJ 13 および 14 では、[設定] > [コンパイラ] > [Java コンパイラUI] をチェックして、モジュール内の別のバイトコード バージョンをターゲットにしていないことを確認してください。

ここに画像の説明を入力

于 2014-01-18T21:02:30.467 に答える
62

IntelliJ IDEA 14.1では、「ターゲット バイトコード バージョン」は別の場所にあります。

次の変更は私にとってはうまくいきました:

ファイル > 設定... > ビルド、実行、配置 > コンパイラ > Java コンパイラ:ターゲット バイトコードのバージョンを 1.5 から 1.8 に変更します。

ここに画像の説明を入力

ここに画像の説明を入力

于 2015-04-07T22:12:01.553 に答える
23

私はこれに遭遇し、修正は Project Settings > Modules > 特定のモジュールをクリック > Dependencies タブに移動することでした。Module SDK がまだ 1.6 に設定されていることに気付きました。それを 1.7 に変更したところ、機能しました。

于 2012-12-13T04:20:09.930 に答える
15

私の場合、設定>コンパイラ> Javaコンパイラで必要なオプション(「ターゲットバイトコードバージョン」)を見つけました(intelij idea 12.1.3)

于 2013-06-15T10:57:29.253 に答える
10

次のパスにあるプロジェクトのコンパイラ設定ファイルを変更し、「ターゲット」を 1.7 に変更します。

/project/.idea/compiler.xml

<bytecodeTargetLevel>
  <module name="project-name" target="1.7" />
</bytecodeTargetLevel>
于 2015-06-08T14:14:17.240 に答える
5

フィールドを空白に設定して解決しました:

設定 > コンパイラ > Java コンパイラ > プロジェクトのバイトコード バージョン

IntelliJ よりも JDK のデフォルト バージョンを使用します。

于 2014-12-20T12:08:13.193 に答える
4

ある瞬間から別の瞬間にも、明確な理由なしにこのエラーが発生しました。コンパイラ/モジュールなどのあらゆる種類の設定を変更しましたが、最終的にMavenプロジェクトを再インポートしてIntelliJプロジェクトを再作成しただけで問題は解決しました。これはバグだと思います。

IntelliJ 12 129.961

于 2013-07-20T09:31:40.880 に答える
4

IntelliJ IDEA 14 から v14.1 へのマイナー アップグレードの後で、これにヒットしました。私にとっては、トップ/親の pom の編集を変更することが役に立ち、Maven の再インポートをクリックしました (自動でない場合)。

しかし、モジュール/集約/親モジュールを右クリックし、Maven -> 再インポートするだけで十分かもしれません。

于 2015-04-06T08:58:52.170 に答える
2

以下の方法で解決しました

ファイル >> プロジェクト構造 >> プロジェクト >> プロジェクト言語レベル --> 適切なバージョンを設定してください (例: 1.5)

于 2014-12-12T06:29:59.920 に答える
1

.idea/misc.xml を確認して、 languageLevel="JDK_1_X" 属性を手動で変更する必要がある場合があります

于 2013-08-24T00:49:56.260 に答える
1

Gradle プロジェクトの場合は、build.gradle ファイルで次の設定を検索します。

sourceCompatibility = "xx"
targetCompatibility = "xx"

すべてのサブプロジェクトについて、ルートの build.gradle ファイルに次のように記述できます。

subprojects { project ->
    sourceCompatibility = "1.7"
    targetCompatibility = "1.7"
}

Idea > Settings で言語レベルを手動で設定できますが、それが Gradle プロジェクトの場合、Idea はモジュール .iml ファイルを Gradle 設定から自動的に同期します (Idea 15 以降でテスト済み)。そのため、gradle が更新されると、すべての手動変更が上書きされます。

Gradle のドキュメントに基づいて、これらが設定されていない場合、現在の JVM 構成が使用されます。

于 2016-04-12T01:14:53.793 に答える
1

ビルド構成で Java コンパイラのバージョンを変更する必要があります。

ここに画像の説明を入力

于 2018-10-08T10:15:44.503 に答える