IntelliJ IDEAを使ってJUnitテストを実行すると、
どうすればこれを修正できますか?
Mavenのビルドはうまくいきます。 (だからこそIDEA設定の問題でこれを信じています)
たぶん、あなたはここでMavenから誤ったコンパイラオプションをインポートしました:
スクリーンショットに記載されているプロジェクトとモジュールのバイトコード(target)のバージョン設定も確認してください。
source言語レベルが設定されている他の場所:
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プロジェクトを再インポートした後、この設定を優先します。
IntelliJ IDEA 14.1 "Target bytecode version"は別の場所にあります。
次のような変更が私のために働きました:
ファイル>設定...>ビルド、実行、配置>コンパイラ> Javaコンパイラ :変更 対象バイトコードバージョン 1.5から1.8
ビルド構成を見たことがありますか?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>
私はこれに遭遇し、修正はプロジェクト設定>モジュール>特定のモジュールをクリック>依存関係タブをクリックすることでした。私はModule SDKがまだ1.6に設定されていることに気付いた、私はそれを1.7に変更してそれはうまくいった。
設定>コンパイラ> Javaコンパイラ に必要なオプション( 'target bytecode version')を見つけました(intelij idea 12.1.3)。
以下のパスにあるプロジェクトのコンパイラ設定ファイルを修正し、 'target'を1.7に変更します。
/project/.idea/compiler.xml
<bytecodeTargetLevel>
<module name="project-name" target="1.7" />
</bytecodeTargetLevel>
フィールドを空白にして解決しました。
設定>コンパイラ> Javaコンパイラ>プロジェクトのバイトコードバージョン
IntelliJはJDKのデフォルトバージョンを使用します。
IntelliJ IDEA14からv14.1へのマイナーアップグレードの後にこれを打った。私にとっては、top/parent pomの編集を変更することが助けになり、それからMavenの再インポートをクリックしました(自動ではない場合)。
しかし、モジュール/集約/親モジュールを右クリックしてMaven - > Reimportを実行すれば十分かもしれません。
ある瞬間から他の瞬間へと私はまた明白な理由なしでこのエラーを得ました。私はコンパイラ/モジュールなどの設定のすべての種類を変更しました。しかし結局私はMavenプロジェクトを再インポートすることによってIntelliJプロジェクトを再作成し、そして問題は解決されました。これはバグだと思います。
IntelliJ 12 129.961
ベローズ方式を解消しました
ファイル>>プロジェクトの構造>>プロジェクト>>プロジェクトの言語レベル - >正しいバージョンを設定する(例:1.5)
.idea/misc.xmlをチェックして、手動でlanguageLevel = "JDK_1_X"属性を変更する必要がある
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人がもうjavacを設定しない古い親を指しているならば、これを得ることができます(その設定は中間レベルに移動されたので)。これが起こると、トップレベルのデフォルトは1.5になり、低レベルのpomはそれを継承します。
したがって、このエラーが発生したときに確認する必要があるもう1つの点は、pom構造がディレクトリ構造と正しく一致していることです。
Mavenのビルドがうまくいったら、MavenとIntelliJ IDEAプロジェクトの構造を同期させてみてください。
Mavenツールウィンドウ で、更新ボタンをクリックしてください 。このボタンを押すと、IntelliJ IDEAはMavenツールウィンドウのプロジェクト構造を解析します。
Maven同期機能は時々壊れるかもしれないので、これがEAPビルドを使っているなら助けにならないかもしれないことに注意してください。
正しい依存関係が選択されていることを確認してください。ファイル>プロジェクト構造
プロジェクトを選択して[依存関係]タブに移動します。ドロップダウンから正しい依存関係を選択するか、新規作成してください。
以前の解決策がすべてうまくいかなかった場合(これが私の場合)、intellij設定ファイルを削除できます。
Intellijは後で新しいものを再生成します。 しかし、注意してください、これはまた、プロジェクトで行われたすべてのintellij設定(すなわち、デバッグモードの設定、...)を削除します