IntelliJで致命的なエラーが発生:クラスパスまたはブートクラスパスでパッケージjava.langが見つかりません


125

IntelliJで単純なモジュールを作成しようとすると、次のように応答します。

Fatal Error: Unable to find package java.lang in classpath or bootclasspath

回答:


243

どういうわけか、JDK言語jarはクラスパスから削除されました。私がしなければならなかったのは、JSDKホームパスを再適用することだけでした。

ジャンプ:ファイル->プロジェクト構造->プラットフォーム設定-> SDK SDKのJSDKホームパスを再適用します。

これを行うと、クラスパスに約15個のjarが追加されました。どうやらこれらはコンパイルに重要です。


2
ありがとう!私は同じ問題を抱えていました。あなたの答えはそれを修正しました。
Charles

2
おかげで、私はこれに遭遇したばかりで、あなたの修正も私にとってうまくいきました。一部のSDKを追加または削除すると、どういうわけか問題が発生しました(マシンにJDKの複数のバージョンがインストールされています)。
Matt Hurne、2011

42
JetBrainsはこの不完全なバグを修正する必要があります。
エキスパート

6
このバグはまだ存在しています!
フランキードレイク2014

4
「再申請」とはどういう意味ですか。古いJSDKを削除して再度追加しましたが、機能しません。私はJava 2016.3を使用しています
mtber75

15

ファイル->プロジェクト構造->プラットフォーム設定-> SDK、既存のSDKを削除して再度追加します。

IntelliJ 2017.3で動作します。


この問題は、jdk(パッチ番号のみ)のアップグレード後に一度だけ発生しました。削除して再度追加すると、すべてが再度コンパイルされます。
2018

8

-私はjdk1.8.0_161に私のJDKのバージョンを更新した後に私には、このエラー起こった
。しかし、プロジェクトのSDKはまだ古いJDK 1.8.0_に指していた131

(Javaをアップグレードすると、以前のバージョンが消去されるようです)。

これを行う:

  1. IntelliJ IDEで、[ファイル]> [プロジェクト構造]に移動します。
  2. Platform Settings > SDKs
    JDKホームパスフィールドが有効なJDKフォルダーを指していることを確認します(必要に応じて、jdk1.8.0_161などの新しいエントリを追加します)。

  3. Project Settings > Modules
    モジュールSDKが、で選択したのと同じエントリに設定されていることを確認しますPlatform Settings > SDKs

  4. もう一度保存してビルドします。

3

これは私のために働きました:

「設定」で、JDKホームパスにBuild Tools > Maven > Runner > Environment Variables設定JAVA_HOMEします。

通常は、IntelliJで使用しているものと同じJava JDKを使用します。あなたはの下Project Structure > Platform Settings > SDKsでそれを見つけることができますJDK home path

例えば /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home


0

この回答をたどると、%LOCALAPPDATA%/IDEA/config/options/jdk.table.xml不正なエントリが含まれていることがわかりました。JDKテーブルを修正すると、問題が修正されました。


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