IntelliJ IDEA không bắt đầu: Không thể tải một lớp JDK: com.sun.jdi.Field


13

Khi tôi cố gắng khởi động IntelliJ, tôi nhận được thông báo bật lên

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

Điều đó thực sự kỳ lạ bởi vì tôi đã chỉ JAVA_HOMEPATHbiến cho JDK Java 11.


Loại điều khó khăn để gỡ lỗi từ xa nhưng 1) cho chúng tôi thấy biến JAVA_HOME của bạn. 2) Kiểm tra xem nó không bị ghi đè trong tệp cấu hình IntelliJ jetbrains.com/help/idea/switching-boot-jdk.html 3) như là phương sách cuối cùng, hãy thử thay đổi thông qua tệp cấu hình
Lesiak

@Lesiak Thay đổi JDK trong tệp .jdk đã giúp! Cảm ơn!
Cerus

Tải xuống IntelliJ với JDK. Điều này sẽ làm việc ra khỏi hộp
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen nếu không được thay đổi theo intellij-support.jetbrains.com/hc/articles/206544879 và vị trí thời gian chạy tùy chỉnh trở nên không hợp lệ, hãy xem câu trả lời của tôi để biết thêm chi tiết.
CrazyCoder

@CrazyCoder Đúng. Kudos cho nhóm thực hiện phân phối "mang lại jvm của riêng mình" - nó làm cho mọi thứ dễ dàng hơn nhiều!
Thorbjørn Ravn Andersen

Câu trả lời:


28

Sự cố này xảy ra nếu bạn ghi đè JetBrains Runtime mặc định bằng một số phiên bản khác, IDE lưu vị trí của thời gian chạy này trong tệp CONFIG\idea64.exe.jdk và sau đó thời gian chạy này trở nên không hợp lệ (bị xóa hoặc bị hỏng) hoặc không tương thích với phiên bản IDE mới.

Giải pháp là xóa idea64.exe.jdk/ idea.exe.jdktệp để IDE đang sử dụng JetBrains Runtime được đóng gói mặc định (tên tệp có thể khác nhau tùy theo sản phẩm bạn đang sử dụng, vì vậy hướng dẫn chung là xóa *.jdkcác tệp trong thư mục cấu hình IDE ).

Đây là tập tin nên được xóa cho hầu hết người dùng trên Windows:

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

Sự cố xảy ra khi tệp này trỏ đến Java 8 vì IntelliJ IDEA không còn chạy trên Java 8 nữa và đang mong đợi Java 11 thay thế. Java 11 đã được đóng gói, nhưng tệp này ghi đè lên nó, do đó có vấn đề.

Ngoài ra, vui lòng kiểm tra tài liệu này để biết các cách có thể khác để ghi đè thời gian chạy IDE và đảm bảo không có cách nào trong số này có hiệu lực:

IDEA_JDK_64 biến môi trường cũng có thể ghi đè thời gian chạy mặc định, bạn cần hủy đặt nó.

Một vấn đề khác có thể là thời gian chạy đi kèm trong jbrthư mục con trở nên bị hỏng. Xác nhận nó bằng cách chạy java -versionbên trong IDE_HOME\jbr\bin. Cài đặt lại IDE sẽ giúp.

Xem thêm một cuộc thảo luận liên quan trong diễn đàn IntelliJ IDEA .

Vấn đề đang được điều tra trong YouTrack .


Liệu Intellij có thể xác minh tính toàn vẹn của các tệp JVM đi kèm không? Hay đây không phải là một cái gì đó xảy ra?
Thorbjørn Ravn Andersen

Đây là một vấn đề mới và chúng tôi vẫn đang điều tra lý do tại sao nó xảy ra. Đúng, lý tưởng IDE nên xác minh tính toàn vẹn của JVM, nhưng nó có thể có vấn đề thông qua các trình khởi chạy cụ thể của nền tảng.
CrazyCoder

Bạn có chắc chắn tệp không phải là "idea.exe.jdk" (hoặc "idea64.exe.jdk") ...?
Jaroslav Záruba

1
@ JaroslavZáruba cập nhật câu trả lời.
CrazyCoder

1

Đảm bảo rằng phiên bản IntelliJ của bạn hỗ trợ chạy trên Java 11 (không chỉ biên dịch với nó). Ngoài ra, nếu bạn đang sử dụng Windows và chỉ cần xác định biến JAVA_HOME, hãy khởi động lại.


Tôi đang sử dụng phiên bản IntelliJ IDEA Ultimate mới nhất hỗ trợ Java 11. Việc khởi động lại không khắc phục được sự cố.
Cerus


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.