redhat-developer / redhat-developer/vscode-java

Can't resolve imports on an Eclipse project

Offen
#284 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug ls-error/crash
Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

Just tried the extension on an existing eclipse project, no imports could be resolved, not even the java.lang ones:

image

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das Verhalten bei nicht aufgelösten Imports mit dem bestehenden Eclipse-Projekt zu reproduzieren, und untersuche die Einstiegspunkte von MavenProjectImporter und ProjectsManager im Stack-Trace. Vergleiche die Ausgabe des Language Servers mit den Fehlern in vscode-languageclient protocolConverter.js; abgeschlossen ist die Aufgabe, wenn Standard- und Projekt-Imports ohne die gemeldeten Initialisierungs- oder Definitionsergebnisfehler aufgelöst werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, vscode
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.