IntelliJ IDEAを使用してJUnitテストを実行すると、
どうすれば修正できますか?
- SDK 1.7の使用
- モジュールの言語レベルは1.7です
Mavenビルドは正常に動作します。(それがIDEA構成の問題でこれを信じる理由です)
IntelliJ IDEAを使用してJUnitテストを実行すると、
どうすれば修正できますか?
Mavenビルドは正常に動作します。(それがIDEA構成の問題でこれを信じる理由です)
回答:
最も可能性が高いのは、Mavenからインポートされた不適切なコンパイラオプションです。
また、スクリーンショットに概説されているプロジェクトとモジュールのバイトコード(ターゲット)バージョン設定を確認します。
ソース言語レベルが構成されている他の場所:
Mavenのデフォルトの言語レベルは1.5(5.0)です。このスクリーンショットでは、このバージョンがモジュール言語レベルとして表示されます。
これは、内部のmaven-compiler-plugin設定を使用して変更できますpom.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はこの設定を尊重します。
pom.xml
Javaコンパイラプラグイン構成は、次回pom.xmlに変更を加えるか(自動再インポートが有効な場合)、プロジェクトを手動で再インポートするときに、この設定をオーバーライドするJavaバージョンを指定する場合があります。
IntelliJ 13および14について以下で説明するものと同様ですが、[設定/環境設定]パネルに追加のレベルがあります。設定 > ビルド、実行、デプロイメント > コンパイラ > Javaコンパイラ。
IntelliJ 13および14では、[設定]> [コンパイラ]> [Javaコンパイラ UI ]をチェックして、モジュール内の別のバイトコードバージョンをターゲットにしていないことを確認します。
IntelliJ IDEA 14.1「ターゲットバイトコードバージョンは」別の場所にあります。
次の変更が私にとってうまくいきました:
ファイル>設定...>ビルド、実行、配置>コンパイラ> Javaコンパイラ:ターゲットバイトコードバージョンを1.5から1.8に変更
私はこれに遭遇し、修正はプロジェクト設定>モジュールに移動することでした>特定のモジュールをクリック>依存関係タブ。Module SDKがまだ1.6に設定されていることに気付きましたが、1.7に変更して機能しました。
私はフィールドを空白に設定することで解決しました:
設定>コンパイラ> Javaコンパイラ>プロジェクトのバイトコードバージョン
IntelliJはJDKのデフォルトバージョンを使用します。
Gradleプロジェクトの場合は、build.gradleファイルで次の設定を検索します。
sourceCompatibility = "xx"
targetCompatibility = "xx"
すべてのサブプロジェクトについて、ルートのbuild.gradleファイルに次のように記述できます。
subprojects { project ->
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
[アイデア]> [設定]で言語レベルを手動で設定できますが、Gradleプロジェクトの場合、IdeaはGradle設定からのモジュール.imlファイルを自動的に同期します(Idea 15以降でテスト済み)。したがって、gradleが更新されると、手動による変更はすべて上書きされます。
Gradleドキュメントに基づいて、これらが設定されていない場合は、現在のJVM構成が使用されます。
Mavenビルドが正常に機能する場合は、MavenとIntelliJ IDEAプロジェクトの構造を同期してみてください。
でMavenのツールウィンドウ、更新ボタンをクリックしてください。このボタンを押すと、IntelliJ IDEAはMavenツールウィンドウのプロジェクト構造を解析します。
EAPビルドを使用している場合、Mavenの同期機能が壊れることがあるので、これは役に立たない可能性があることに注意してください。
適切なdepencyが選択されていることを確認してください。ファイル>プロジェクト構造
プロジェクトを選択し、[依存関係]タブに移動します。ドロップダウンから適切な依存関係を選択するか、新しく作成します。
以前のすべての解決策がうまくいかない場合(これは私の場合でした)、intellij構成ファイルを削除できます。
Intellijは後で新しいものを再生成します。 ただし、注意してください。これにより、プロジェクトで作成されたすべてのintellij構成も削除されます(つまり、デバッグモードの構成など)。