IntelliJ IDEAが起動しない:JDKクラスをロードできません:com.sun.jdi.Field


13

IntelliJを起動しようとすると、次のようなポップアップが表示されます。

Cannot load a JDK class: com.sun.jdi.Field 
Please ensure you run the IDE on JDK rather than JRE.

JAVA_HOMEand PATH変数にJava 11 JDKを指定しているため、これは本当に奇妙です。


リモートでデバッグするのはちょっと難しいですが、1)JAVA_HOME変数を見せてください。2)IntelliJ構成ファイルjetbrains.com/help/idea/switching-boot-jdk.htmlでオーバーライドされていないかどうかを確認します3)最後の手段として、構成ファイルで変更してみてください
Lesiak

@Lesiak .jdkファイルのJDKを変更すると役立ちました。ありがとう!
Cerus

IntelliJ JDK とともにダウンロードします。これは、箱から出して動作するはずです
するThorbjörnRavnアンデルセン

@ThorbjørnRavnAndersennot intellij-support.jetbrains.com/hc/articles/206544879に従って変更され、カスタムランタイムの場所が無効になった場合、詳細については私の回答を参照してください。
CrazyCoder

@CrazyCoder True。「JVM独自の」ディストリビューションを作成してくれたことに対するチームへの称賛-物事がはるかに簡単になります!
するThorbjörnRavnアンデルセン

回答:


28

この問題は、デフォルトのJetBrainsランタイムを他のバージョンで上書きすると、IDEがこのランタイムの場所をCONFIG\idea64.exe.jdkファイルに保存し、このランタイムが無効(削除または破損)になるか、新しいIDEバージョンと互換性がなくなると発生します。

解決策は、IDEがデフォルトのバンドルされたJetBrainsランタイムを使用するようにidea64.exe.jdk/ idea.exe.jdkファイルを削除することです(ファイル名は使用している製品によって異なる場合があるため、一般的なガイドは*.jdkIDE構成ディレクトリ内のファイルを削除することです)。

Windowsのほとんどのユーザーが削除する必要のあるファイルは次のとおりです。

c:\Users\<user>\AppData\Roaming\JetBrains\IntelliJIdea2020.1\idea64.exe.jdk

IntelliJ IDEAがJava 8で実行されなくなり、代わりにJava 11が予期されるため、このファイルがJava 8を指す場合に問題が発生します。Java 11はすでにバンドルされていますが、このファイルで上書きされるため、問題が発生します。

IDEランタイムをオーバーライドする他の可能な方法についてもこのドキュメントを確認し、これらが有効になっていないことを確認してください。

IDEA_JDK_64 環境変数はデフォルトのランタイムもオーバーライドする可能性があるため、設定を解除する必要があります。

別の考えられる問題は、jbrサブディレクトリのバンドルされたランタイムが破損することです。java -version内部で実行して確認しIDE_HOME\jbr\binます。IDEの再インストールが役立つはずです。

IntelliJ IDEAフォーラムの関連ディスカッションも参照してください。

この問題はYouTrackで調査中です


IntellijがバンドルされたJVMファイルの整合性を検証することは可能でしょうか?または、これは発生することではありませんか?
するThorbjörnRavnアンデルセン

これは新しい問題であり、その原因を調査中です。はい、理想的にはIDEがJVMの整合性を検証する必要がありますが、プラットフォーム固有のランチャーを介して問題が発生する可能性があります。
CrazyCoder

ファイルが "idea.exe.jdk"(または "idea64.exe.jdk")ではないことを確認しますか?
JaroslavZáruba

1
@JaroslavZárubaが回答を更新しました。
CrazyCoder

1

IntelliJバージョンがJava 11での実行をサポートしていることを確認してください(単にコンパイルするだけではありません)。さらに、Windowsを使用していて、JAVA_HOME変数を定義しただけの場合は、再起動します。


Java 11をサポートする最新のIntelliJ IDEA Ultimateバージョンを使用していますが、再起動しても問題は解決しませんでした。
Cerus


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.