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_HOMEและPATHตัวแปรไปยัง Java 11 JDK


ขอให้แก้ไขข้อผิดพลาดจากระยะไกล แต่ 1) แสดงตัวแปร JAVA_HOME ของคุณให้เราทราบ 2) ตรวจสอบว่ามันไม่ได้ overriden ในไฟล์ config IntelliJ jetbrains.com/help/idea/switching-boot-jdk.html 3) เป็นทางเลือกสุดท้ายลองเปลี่ยนมันผ่านไฟล์ config
Lesiak

@Lesiak การเปลี่ยน JDK ในไฟล์. jdk ช่วยด้วย! ขอบคุณ!
Cerus

ดาวน์โหลด IntelliJ พร้อม JDK สิ่งนี้น่าจะใช้ได้นอกกรอบ
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersenไม่ว่าจะมีการเปลี่ยนแปลงต่อintellij-support.jetbrains.com/hc/articles/206544879และตำแหน่งรันไทม์แบบกำหนดเองไม่ถูกต้องให้ดูคำตอบของฉันสำหรับรายละเอียดเพิ่มเติม
CrazyCoder

@CrazyCoder จริง ความรุ่งโรจน์ให้กับทีมงานในการจัดจำหน่าย "นำ jvm ของตัวเอง" - ทำให้ทุกอย่างง่ายขึ้น!
Thorbjørn Ravn Andersen

คำตอบ:


28

ปัญหานี้เกิดขึ้นหากคุณแทนที่ JetBrains Runtime ที่เป็นค่าเริ่มต้นกับรุ่นอื่น ๆ IDE จะบันทึกตำแหน่งของรันไทม์นี้ภายใต้ไฟล์CONFIG\idea64.exe.jdkจากนั้นรันไทม์นี้จะไม่ถูกต้อง (ถูกลบหรือเสียหาย) หรือเข้ากันไม่ได้กับ IDE รุ่นใหม่

วิธีแก้ไขคือลบidea64.exe.jdk/ idea.exe.jdkไฟล์เพื่อให้ IDE ใช้ JetBrains Runtime ที่เป็นค่าเริ่มต้น (ชื่อไฟล์อาจแตกต่างกันไปขึ้นอยู่กับผลิตภัณฑ์ที่คุณใช้ดังนั้นคำแนะนำทั่วไปคือการลบ*.jdkไฟล์ในไดเรกทอรี IDE config )

นี่คือไฟล์ที่ควรลบสำหรับผู้ใช้ส่วนใหญ่บน Windows:

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

ปัญหานี้เกิดขึ้นเมื่อไฟล์นี้ชี้ไปที่ Java 8 เนื่องจาก IntelliJ IDEA ไม่ทำงานบน Java 8 อีกต่อไปและกำลังรอ Java 11 แทน Java 11 ถูกรวมไว้แล้ว แต่ไฟล์นี้แทนที่มันดังนั้นปัญหา

โปรดตรวจสอบเอกสารนี้เพื่อหาวิธีที่เป็นไปได้อื่น ๆ ในการแทนที่รันไทม์ IDE และตรวจสอบให้แน่ใจว่าไม่มีสิ่งใดที่จะมีผล:

IDEA_JDK_64 ตัวแปรสภาพแวดล้อมอาจแทนที่รันไทม์เริ่มต้นคุณต้องยกเลิกการตั้งค่า

ปัญหาที่เป็นไปได้อีกประการหนึ่งคือการรันไทม์แบบบันเดิลในjbrไดเรกทอรีย่อยเสียหาย ตรวจสอบได้โดยการทำงานภายในjava -version IDE_HOME\jbr\binการติดตั้ง IDE ใหม่จะช่วยได้

ดูยังมีการอภิปรายที่เกี่ยวข้องในฟอรั่ม IDEA IntelliJ

ปัญหาจะถูกสอบสวนใน YouTrack


เป็นไปได้ไหมที่ Intellij จะตรวจสอบความถูกต้องของไฟล์ JVM ที่ให้มาด้วย? หรือนี่ไม่ใช่สิ่งที่เกิดขึ้น?
Thorbjørn Ravn Andersen

มันเป็นปัญหาใหม่และเรายังคงตรวจสอบสาเหตุที่มันเกิดขึ้น ใช่ IDE ในอุดมคติควรตรวจสอบความสมบูรณ์ของ JVM แต่อาจเป็นปัญหาผ่านทางตัวเรียกใช้เฉพาะแพลตฟอร์ม
CrazyCoder

คุณแน่ใจหรือว่าไฟล์ไม่ใช่ "idea.exe.jdk" (หรือ "idea64.exe.jdk") ... ?
Jaroslav Záruba

1
@ JaroslavZárubaอัปเดตคำตอบ
CrazyCoder

1

ตรวจสอบให้แน่ใจว่าเวอร์ชั่น IntelliJ ของคุณรองรับการทำงานบน Java 11 (ไม่ใช่เพียงการคอมไพล์ด้วย) นอกจากนี้หากคุณใช้ Windows และเพิ่งกำหนดตัวแปร JAVA_HOME ให้รีบูต


ฉันใช้ IntelliJ IDEA Ultimate เวอร์ชั่นล่าสุดซึ่งควรรองรับ Java 11 การรีบูตไม่ได้แก้ปัญหาอย่างน่าเสียดาย
Cerus

1

ตั้งแต่ 2020.1 เป็นต้นไปโฟลเดอร์การกำหนดค่าจะอยู่ใน%APPDATA%/Roaming/JetBrains/<product><version>โฟลเดอร์

ฉันต้องลบไฟล์ * .jdk ของฉันในโฟลเดอร์นั้นเพื่อกำหนดค่าใหม่


ขอบคุณที่แบ่งปัน แต่มีข้อมูลใหม่อะไรบ้างในคำตอบที่ยอมรับ
CrazyCoder

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.