microsoft / microsoft/vscode-java-debug
Java Debugger Launch Failure
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 591
- Fork
- 429
- Merge trung bình
- 1 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 19
Mô tả
Environment
- Operating System: MacOS Big Sur
- JDK version: 21
- Visual Studio Code version: Version: 1.84.2
- Java extension version: v1.24.0
- Java Debugger extension version: 0.55.0
Issue
Java Debugger fails to launch: "Build failed, do you want to continue?"
If I click "Continue", the resulting error message occurs:
"Error: Could not find or load main class [filename-here]
Caused by: java.lang.ClassNotFoundException: [filename-here]"
This has been a recurrent issue for the past three months – Java Debugger goes from seemingly working to being completely unusable at random. Each time I think I've resolved the issue, the same launch failure begins to occur a week later without rhyme or reason, and the temporary "fix" seems to be different each time.
Per the errors above and below, this appears to be a configuration issue: potentially with the language server and/or java class path configuration. However, none of the suggested solutions in the Troubleshooting Guide have worked. I've tried completely wiping all Java configuration files and extensions several times (it worked as a temporary fix once, but not the next time); but even then, the solution was only temporary.
Currently, it appears the JAVA_HOME environment variable is not set, as echo outputs a blank line:
$ echo $JAVA_HOME
However, resetting it manually using command line export seemingly has no effect, and I have the following in settings.json already:
"java.jdt.ls.java.home": "/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home",
Log Report
The following relevant errors can be seen in the log:
!ENTRY org.eclipse.jdt.ls.core 4 0 2023-11-22 21:24:07.717
!MESSAGE _/HES Pro/Comp A/Temp/TestDir [in Program Folder_e362262e] does not exist
!STACK 1
Java Model Exception: Error in Java Model (code 969): _/HES Pro/Comp A/Temp/TestDir [in Programming Folder_e362262e] does not exist
!ENTRY org.eclipse.jdt.ls.core 4 0 2023-11-22 20:53:33.404
!MESSAGE failed to send diagnostics
!STACK 1
Java Model Exception: Error in Java Model (code 1006):_/HES Pro/Comp A/Temp/TestDir [in Programming Folder_e362262e] is not on its project's build path
!ENTRY org.eclipse.jdt.ls.core 4 0 2023-11-22 21:25:37.701
!MESSAGE Error occured while building workspace. Details:
message: The declared package "" does not match the expected package "HES Pro.Comp A.Temp.TestDir"; code: 536871240; resource: /Users/myUsername/Documents/Programming Folder/HES Pro/Comp A/Temp/TestDir/BadExample.java; line: 1
Steps Taken
- Cleaned Java Language Server Workspace
- Completely uninstalled Java Extension Pack & completely wiped all workspace specific configurations
- Reset JAVA_HOME environment variable
- Reset/changed class/source path configurations multiple times
- Exhausted steps suggested in Troubleshooting Guide that appeared relevant...
Steps To Reproduce
- Open any
.javafile - Click
Debug Javain upper-right hand corner of VSCode editor window.
https://github.com/microsoft/vscode-java-debug/assets/42523932/41049820-57f7-4cf3-af84-efd58d90070b
Note: There does not appear to be anything project specific that influences this issue. It's appears to be primarily a workspace issue, such that the error occurs on my system when executing any .java file and it does not matter whether I use my own debug launch config or the default VSCode debug (per above). Unsure how reproducible this is outside of my own system.
Additional Informations
This issue has made VSCode borderline unusable at times which is very frustrating. I use VSCode exclusively for all other languages, and have been a big fan, but I'm not sure if it's time to start considering using another editor for Java. I'm also unclear why temporary fixes have seemed to work, only to break after some indeterminate period of time.
I've wondered if the "spaces" in my directory names might be causing inconsistencies in resolving the class path; but I would find that perplexing considering, while I'm new to Java, it's never remotely been an issue with using VSCode with other languages, nor can I amend my entire directory structure very easily.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện lỗi với bất kỳ tệp .java nào bằng action Debug Java, sau đó kiểm tra settings.json và log của Java Language Server để tìm đường dẫn workspace bị thiếu cùng các lỗi build-path và package được hiển thị trong báo cáo. Công việc được xem là hoàn tất khi trình gỡ lỗi khởi chạy thành công mà không có ClassNotFoundException và workspace được build mà không có các lỗi đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java, vscode
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100