ローカルのGradleディストリビューションを使用してIntellijIdeaにGradleプロジェクトをインポートしようとしていますが、次のメッセージでスタックトレースを取得していますCould not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'
。誰かが理由を説明してもらえますか?
ローカルのGradleディストリビューションを使用してIntellijIdeaにGradleプロジェクトをインポートしようとしていますが、次のメッセージでスタックトレースを取得していますCould not target platform: 'Java SE 8' using tool chain: 'JDK 7 (1.7)'
。誰かが理由を説明してもらえますか?
回答:
これは私のために働いたものです(Intellij Idea 2018.1.2):
1)次の場所に移動します:ファイル->設定->ビルド、実行、デプロイ->ビルドツール-> Gradle
2)Gradle JVM:バージョン1.8に変更
3)gradleタスクを再実行します
IntelliJ 2019の場合:
Intellij IDEA->設定->ビルド、実行、デプロイ->ビルドツール-> Gradle-> Gradle JVM
正しいバージョンを選択してください。
最後に、Gradleプロジェクトをインポートしました。手順は次のとおりです。
JAVA_HOME
するJDK 8私はGradleのラッパーがでプロジェクトを処理することができることを実験により考え出したとして(それは以前に第七だった)JDK 8のみ。org.gradle.java.home
変数付き)をWindowsユーザーの.gradleディレクトリから削除しました。これは、Gradleに追加の値がもたらされなかったためです。echo $JAVA_HOME
してチェック)、Eclipseでもこの問題が発生しました。JAVA_HOME=/path/to/jdk8 eclipse
この問題を軽減するために、JAVA_HOMEをシステム全体で変更するか、Eclipseを開始してください
私は非常に関連した問題を抱えていましたが、より高いJavaバージョンの場合:
$ ./gradlew clean assemble
... <other normal Gradle output>
Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
InteliJを使用して実行すると、タスクが成功したことに気付きました。と呼ばれるファイル(build.gradleと同じレベル)を追加すると.java-version
、私の問題は解決しました:
# .java-version
11.0.3
そして、他の回答から、それに対処する方法はいくつかあることがわかります。しかし、私はこれを信じていません。それは一方向に減らす必要があります。私はIDEが大好きですが、さまざまな回答から提供されたIDEの手順に従うと、これは基本的な代数ではないことがわかります。私のエラーは次のようになりました:
* What went wrong:
Execution failed for task ':compileJava'.
> Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
そしてそれを科学的に解決する方法は次のとおりです。
vi build.gradle
変更するには:
java {
sourceCompatibility = JavaVersion.toVersion('11')
targetCompatibility = JavaVersion.toVersion('11')
}
になる:
java {
sourceCompatibility = JavaVersion.toVersion('8')
targetCompatibility = JavaVersion.toVersion('8')
}
科学的方法は、議論の余地があり、共通の分母を扱う方法です。