เมื่อฉันพยายามเริ่ม 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
เมื่อฉันพยายามเริ่ม 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
คำตอบ:
ปัญหานี้เกิดขึ้นหากคุณแทนที่ 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 ของคุณรองรับการทำงานบน Java 11 (ไม่ใช่เพียงการคอมไพล์ด้วย) นอกจากนี้หากคุณใช้ Windows และเพิ่งกำหนดตัวแปร JAVA_HOME ให้รีบูต
ตั้งแต่ 2020.1 เป็นต้นไปโฟลเดอร์การกำหนดค่าจะอยู่ใน%APPDATA%/Roaming/JetBrains/<product><version>
โฟลเดอร์
ฉันต้องลบไฟล์ * .jdk ของฉันในโฟลเดอร์นั้นเพื่อกำหนดค่าใหม่