redhat-developer / redhat-developer/vscode-java
Can't resolve imports on an Eclipse project
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.3k
- Fork
- 546
- Merge trung bình
- 20 giờ 1 phút
- Pull request đã merge (30 ngày)
- 11
Mô tả
Just tried the extension on an existing eclipse project, no imports could be resolved, not even the java.lang ones:

On output console:
[Warn - 3:12:21 PM] Aug 23, 2017 3:12:15 PM While loading class "org.eclipse.m2e.core.MavenPlugin", thread "Thread[Worker-2,5,main]" timed out waiting (5154ms) for thread "Thread[pool-1-thread-1,5,main]" to finish starting bundle "org.eclipse.m2e.core_1.8.1.20170728-1531 [52]". To avoid deadlock, thread "Thread[Worker-2,5,main]" is proceeding but "org.eclipse.m2e.core.MavenPlugin" may not be fully initialized.
Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.8.1.20170728-1531"; osgi.identity="org.eclipse.m2e.core"; singleton:="true" [id=52] STARTED [STARTED]
org.osgi.framework.BundleException: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="1.8.1.20170728-1531"; osgi.identity="org.eclipse.m2e.core"; singleton:="true" [id=52] STARTED [STARTED]
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:337)
at org.eclipse.osgi.container.Module.start(Module.java:401)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:103)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:529)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:328)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:368)
at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:442)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jdt.ls.core.internal.managers.MavenProjectImporter.(MavenProjectImporter.java:53)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.importers(ProjectsManager.java:176)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.getImporter(ProjectsManager.java:160)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:73)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.run(InitHandler.java:117)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: java.util.concurrent.TimeoutException: Timeout after waiting 5 seconds to acquire the lock.
at org.eclipse.osgi.container.Module.lockStateChange(Module.java:334)
... 18 more
On the VSCode developer tools:
/C:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:29 Invalid arguments: Error: Invalid arguments
at new e (c:\Program Files (x86)\Microsoft VS Code\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:230953)
at asRange (C:\Users\gabriel.barroso.vscode\extensions\redhat.java-0.8.0\node_modules\vscode-languageclient\lib\protocolConverter.js:41:16)
at asLocation (C:\Users\gabriel.barroso.vscode\extensions\redhat.java-0.8.0\node_modules\vscode-languageclient\lib\protocolConverter.js:205:59)
at item.map (C:\Users\gabriel.barroso.vscode\extensions\redhat.java-0.8.0\node_modules\vscode-languageclient\lib\protocolConverter.js:195:43)
at Array.map (native)
at asDefinitionResult (C:\Users\gabriel.barroso.vscode\extensions\redhat.java-0.8.0\node_modules\vscode-languageclient\lib\protocolConverter.js:195:25)
Environment
- Windows 10:
- JDK version 8:
- Visual Studio Code version 1.15:
- Java extension version: 0.8.0
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 hành vi import chưa được phân giải với project Eclipse hiện có và kiểm tra các điểm vào của MavenProjectImporter và ProjectsManager trong stack trace. So sánh đầu ra của language server với các lỗi trong vscode-languageclient protocolConverter.js; được xem là hoàn tất khi các import tiêu chuẩn và import của project được phân giải mà không gặp các lỗi khởi tạo hoặc kết quả định nghĩa đã được báo cáo.
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