IntelliJ podaje błąd krytyczny: nie można znaleźć pakietu java.lang w ścieżce klas lub ścieżce bootclasspath

125

Kiedy próbuję zrobić prosty moduł w IntelliJ, odpowiada:

Fatal Error: Unable to find package java.lang in classpath or bootclasspath
Bryg
źródło

Odpowiedzi:

243

W jakiś sposób słoiki języka JDK zostały usunięte ze ścieżki klas. Wszystko, co musiałem zrobić, to ponownie zastosować ścieżkę główną JSDK.

Idź do: Plik -> Struktura projektu -> Ustawienia platformy -> Zestawy SDK Zastosuj ponownie ścieżkę główną JSDK.

W ten sposób dodano około 15 słoików do ścieżki klas. Najwyraźniej są one ważne przy kompilacji.

Bryg
źródło
2
Dzięki! Po prostu miałem ten sam problem; Twoja odpowiedź naprawiła to.
Charles
2
Dzięki, właśnie do tego wpadłem i twoja poprawka też zadziałała. W jakiś sposób wywołałem problem podczas dodawania i usuwania niektórych zestawów SDK (mam wiele wersji JDK zainstalowanych na moim komputerze).
Matt Hurne,
42
JetBrains powinien naprawić ten kiepski błąd.
ekspert
6
Ten błąd nadal istnieje!
Frankie Drake,
4
Co masz na myśli przez „ponowne zgłoszenie”. Usunąłem mój stary JSDK i dodałem go ponownie, ale nie działa. Używam Java 2016.3
mtber75
15

Plik -> Struktura projektu -> Ustawienia platformy -> Zestawy SDK, usuń istniejący SDK i dodaj go ponownie.

U mnie działa w IntelliJ 2017.3.

Babken Vardanyan
źródło
Ten problem zdarzył mi się raz po aktualizacji jdk (tylko numer poprawki), usunięcie i ponowne dodanie sprawiło, że wszystko się skompilowało.
qed
8

Ten błąd przydarzył mi się po zaktualizowaniu mojej wersji JDK do jdk1.8.0_161 -
ale sdk projektu nadal wskazywał na stary jdk 1.8.0_ 131

(Wydaje się, że aktualizacja javy powoduje wyczyszczenie poprzedniej wersji).

Zrób to:

  1. W IntelliJ IDE przejdź do File> Project Structure, stamtąd:
  2. Wewnątrz Platform Settings > SDKs:
    upewnij się, że pole ścieżki domowej JDK wskazuje prawidłowy folder JDK (w razie potrzeby dodaj nowy wpis, np. Jdk1.8.0_161).

  3. W Project Settings > Modules:
    upewnij się, że zestaw SDK modułu jest ustawiony na ten sam wpis, który został wybrany wPlatform Settings > SDKs

  4. Zapisz i zbuduj ponownie.
Rtęć
źródło
3

To zadziałało dla mnie:

W Preferencjach Build Tools > Maven > Runner > Environment Variablesustaw JAVA_HOMEścieżkę domową JDK.

Zwykle chcesz użyć tego samego Java JDK, którego używasz w IntelliJ. Możesz to znaleźć Project Structure > Platform Settings > SDKspod JDK home path.

na przykład /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home

Andrea Bergonzo
źródło
0

Po wykonaniu tej odpowiedzi dowiedziałem się, że %LOCALAPPDATA%/IDEA/config/options/jdk.table.xmlzawierały nieprawidłowe wpisy. Naprawienie tabeli JDK rozwiązało problem.

DerMike
źródło
0
  1. Plik> Struktura projektu
  2. Ścieżka główna JDK: PASTE_THE_JDK_LOCATION (jak tutaj na „Zrzucie ekranu struktury projektu

  3. Zbuduj ponownie

    Twoje zdrowie :)

Kumar
źródło