私はIntellij Ultimate 13.1.4を使用していますが、いくつかのコードをコンパイルしようとしていますが、次のようなエラーが表示され、意味がわかりません。
Information:Using javac 1.7.0_55 to compile Java sources
Information:Java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:Java: invalid source release: 8
私の考えでは、それはJava 8とJava 7の関係に関係しているのですが、具体的には何もわかりません。私はこのメッセージについてGoogleに回ってみましたが、彼らはjavac
かtarget release
のどちらかについて話しているので、それは正確には当てはまりません。
プロジェクトをJava 8からJava 6に「ダウングレード」したときにも同じ問題がありました。その理由は、IntelliJのすべての場所でプロジェクトが変更されなかったためです。
IntelliJ 13.1.4では、このエラーが発生しないように、次の場所でJavaとSDKのバージョンを変更する必要がありました。
最後の箇条書きは、私の場合は更新されなかったものです。これを変更すると、エラーは消えました。
あなたのpom.xml
を最初にチェックしてください(もしあれば)
あなたのモジュールのJDK
依存性をチェックしてください。1.8
であることを確認してください
これを行うには、 プロジェクト構造 - > SDK - にアクセスしてください。
1.8 (私の場合はjdk1.8.0_45.jdk
)を保存した場所にパスを追加します
変更を適用します
さて、Project Structure - > Modules に行きます。
Module SDKを1.8
に変更します。
変更を適用します
ほら!あなたはやった
もしあなたがGradleをビルドツールとして使っていて、Gradleタスク、すなわちTomcatRunを実行する時にこのエラーが出たら、同じ質問に対する私の他の答えを見てください。
この問題を抱えているGradleユーザーにとって、上記の方法で問題が解決しない場合は、build.gradleファイルでこの宣言を適用してください。
targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on
問題が解決しました!
pom.xml
1.6
を1.8
に変更
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Andreas Lundgrenの答えはうまくいき、私は自分のアプリをコンパイルして実行することができました。
しかし、プロジェクトに関連付けられているJUnitテストを実行しようとしたときに、同じエラーが発生しました。ランニング
gradle -version
windowsのコマンドプロンプトから、gradleがまだ間違ったjdkを選択していることがわかりました。それを修正するには、正しいjdkを指すようにJava_HOME
環境変数を設定し、IntelliJを再起動しなければなりませんでした。
上記のプロジェクトバージョン、モジュールバージョン、プロジェクトバイトコードバージョン、ターゲットバイトコードバージョンの設定をIntelliJ Idea
ですべて確認しましたが、すべてスクラッチしたときと同じです。
私はError:Java: invalid source release: 1.8
でこのエラーIntelliJ Idea 2017.2.6
に直面しました。これは依存バージョンMaven
pomファイルをアップグレードしたためです。
それで、私は再びMaven
pomの依存バージョンを以前のバージョンにダウングレードし、エラーはプロジェクトRebuild Module 'xyz_project'の後に消えました。
Grailsユーザーの場合は、BuildConfig.groovyファイルでこれらの宣言を適用してください。
grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on
POMファイルでjdk 1.8を使用している場合は、プロジェクトのOpen Module SettingsをクリックしてJDKのパスを変更し、jdk 1.8を正しいパスで設定する必要があります。