web-dev-qa-db-ja.com

IDEA:javac:source release 1.7にはtarget release 1.7が必要です。

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

enter image description here

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

  • SDK 1.7を使用する
  • モジュール言語レベルは1.7

Mavenのビルドはうまくいきます。 (だからこそIDEA設定の問題でこれを信じています)

447
JAM

たぶん、あなたはここでMavenから誤ったコンパイラオプションをインポートしました:

compiler options

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

source言語レベルが設定されている他の場所:

  • プロジェクト構造プロジェクト

project

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

sources

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

これはpom.xmlの中の maven-compiler-plugin configurationを使って変更できます。

<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>

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

reimport

624
CrazyCoder

IntelliJ 15、2016&2017

IntelliJ 13および14について以下で説明するものと同様ですが、設定/設定パネルに追加のレベルがあります:Settings>ビルド、実行、展開>コンパイラ>Javaコンパイラ

enter image description here

IntelliJ 13および14

IntelliJ 13および14では、Settings> Compiler> Java CompilerUIをチェックして、異なるバイトコードバージョンをターゲットにしていないことを確認します。モジュール内。

enter image description here

356
Drew Noakes

IntelliJ IDEA 14.1 "Target bytecode version"は別の場所にあります。

次のような変更が私のために働きました:

ファイル>設定...>ビルド、実行、配置>コンパイラ> Javaコンパイラ :変更 対象バイトコードバージョン 1.5から1.8

enter image description here

enter image description here

61

ビルド構成を見たことがありますか?Maven 3とJDK 7を使用する場合は、そのようにする必要があります。

<build>
    <finalName>SpringApp</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        ...
    </plugins>
    ...
</build>
41
swissonid

私はこれに遭遇し、修正はプロジェクト設定>モジュール>特定のモジュールをクリック>依存関係タブをクリックすることでした。私はModule SDKがまだ1.6に設定されていることに気付いた、私はそれを1.7に変更してそれはうまくいった。

22
Rob Barreca

設定>コンパイラ> Javaコンパイラ に必要なオプション( 'target bytecode version')を見つけました(intelij idea 12.1.3)。

13
eger

以下のパスにあるプロジェクトのコンパイラ設定ファイルを修正し、 'target'を1.7に変更します。

/project/.idea/compiler.xml

<bytecodeTargetLevel>
  <module name="project-name" target="1.7" />
</bytecodeTargetLevel>
9
Joe Cheng

フィールドを空白にして解決しました。

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

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

5

IntelliJ IDEA14からv14.1へのマイナーアップグレードの後に​​これを打った。私にとっては、top/parent pomの編集を変更することが助けになり、それからMavenの再インポートをクリックしました(自動ではない場合)。

しかし、モジュール/集約/親モジュールを右クリックしてMaven - > Reimportを実行すれば十分かもしれません。

4
OMax

ある瞬間から他の瞬間へと私はまた明白な理由なしでこのエラーを得ました。私はコンパイラ/モジュールなどの設定のすべての種類を変更しました。しかし結局私はMavenプロジェクトを再インポートすることによってIntelliJプロジェクトを再作成し、そして問題は解決されました。これはバグだと思います。

IntelliJ 12 129.961

4
pveentjer

ベローズ方式を解消しました

ファイル>>プロジェクトの構造>>プロジェクト>>プロジェクトの言語レベル - >正しいバージョンを設定する(例:1.5)

2
mati

.idea/misc.xmlをチェックして、手動でlanguageLevel = "JDK_1_X"属性を変更する必要がある

1
k.a.i

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

sourceCompatibility = "xx"
targetCompatibility = "xx"

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

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

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

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

1
Cagatay Kalan

私はこのエラーに遭遇する別の方法を見つけました。あなたがあなたのディレクトリ構造を再編成していて、あなたのポンポンの1人がもうjavacを設定しない古い親を指しているならば、これを得ることができます(その設定は中間レベルに移動されたので)。これが起こると、トップレベルのデフォルトは1.5になり、低レベルのpomはそれを継承します。

したがって、このエラーが発生したときに確認する必要があるもう1つの点は、pom構造がディレクトリ構造と正しく一致していることです。

1
Gus

Mavenのビルドがうまくいったら、MavenとIntelliJ IDEAプロジェクトの構造を同期させてみてください。

Mavenツールウィンドウ で、更新ボタンをクリックしてください refresh 。このボタンを押すと、IntelliJ IDEAはMavenツールウィンドウのプロジェクト構造を解析します。

Maven同期機能は時々壊れるかもしれないので、これがEAPビルドを使っているなら助けにならないかもしれないことに注意してください。

1
naXa

正しい依存関係が選択されていることを確認してください。ファイル>プロジェクト構造

プロジェクトを選択して[依存関係]タブに移動します。ドロップダウンから正しい依存関係を選択するか、新規作成してください。

0
Viraj Kulkarni

以前の解決策がすべてうまくいかなかった場合(これが私の場合)、intellij設定ファイルを削除できます。

  • project_directory/.idea/compiler.xml
  • project_directory/.idea/encodings.xml
  • project_directory/.idea/misc.xml
  • project_directory/.idea/modules.xml
  • project_directory/.idea/vcs.xml
  • project_directory/.idea/workspace.xml
  • 等.

Intellijは後で新しいものを再生成します。 しかし、注意してください、これはまた、プロジェクトで行われたすべてのintellij設定(すなわち、デバッグモードの設定、...)を削除します

0

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

enter image description here

0
Nirbhay Rana