"Invalid project description" thrown when opening Eclipse projects
I have used Eclipse Neon's Java project wizard to create a simple "Hello, World!" Java project (attached below). I then close Eclipse and open the project's root directory Test in VSCode. The first time I do this, everything works fine. But on all subsequent attempts to open Test in VSCode, the Java Language Server throws a ResourceException with the message "Invalid project description". The relevant lines of the Java Language Server's workspace log are included below. I believe I originally experienced this problem in April 2017, when I first started using this extension.
Environment
- Operating System: Windows 10
- JDK version: 1.8.0.131
- Visual Studio Code version: 1.13.1
- Java extension version: 0.6.0
Steps To Reproduce
- Open the attached project's root directory in VSCode
- Open
src/pckg/Test.javafrom VSCode's file explorer - Wait for the Java Language Server to start up. It should load with no errors since this is the first invocation for this workspace.
- Exit VSCode
- Repeat steps 1 through 3. This time, the Java Language Server will fail to start, throwing a
ResourceExceptionwith the message "Invalid project description".
Project:
Java Language Server workspace log:
!SESSION 2017-06-22 01:25:54.168 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_65
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments: -data C:\Users\Devin\AppData\Roaming\Code\User\workspaceStorage\838697bd63daded4e95b1eedb4f55d68\redhat.java\jdt_ws
!ENTRY org.eclipse.core.resources 2 10035 2017-06-22 01:25:55.294
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:55.545
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is started
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:55.679
!MESSAGE >> initialize
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:55.691
!MESSAGE Initializing Java Language Server 0.1.0.201706151944
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:55.742
!MESSAGE >> workspace/didChangeConfiguration
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:57.475
!MESSAGE >>New configuration: {java={configuration={maven={userSettings=null}, updateBuildConfiguration=interactive}, errors={incompleteClasspath={severity=warning}}, home=null, jdt={ls={vmargs=-noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication}}, referencesCodeLens={enabled=true}, trace={server=verbose}}}
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:57.496
!MESSAGE Importing Eclipse project(s)
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:57.507
!MESSAGE >> document/didOpen
!ENTRY org.eclipse.jdt.ls.core 4 0 2017-06-22 01:25:57.535
!MESSAGE Problem importing to workspace
!STACK 0
java.lang.RuntimeException: org.eclipse.core.internal.resources.ResourceException: Invalid project description.
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.importDir(EclipseProjectImporter.java:90)
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.lambda$0(EclipseProjectImporter.java:59)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.importToWorkspace(EclipseProjectImporter.java:59)
at org.eclipse.jdt.ls.core.internal.managers.ProjectsManager.initializeProjects(ProjectsManager.java:75)
at org.eclipse.jdt.ls.core.internal.handlers.InitHandler$1.run(InitHandler.java:108)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: org.eclipse.core.internal.resources.ResourceException: Invalid project description.
at org.eclipse.core.internal.resources.Project.checkDescription(Project.java:169)
at org.eclipse.core.internal.resources.Project.assertCreateRequirements(Project.java:53)
at org.eclipse.core.internal.resources.Project.create(Project.java:263)
at org.eclipse.core.internal.resources.Project.create(Project.java:247)
at org.eclipse.jdt.ls.core.internal.managers.EclipseProjectImporter.importDir(EclipseProjectImporter.java:86)
... 7 more
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:58.159
!MESSAGE begin problem for Test.java
!ENTRY org.eclipse.jdt.ls.core 1 0 2017-06-22 01:25:58.175
!MESSAGE end reporting for Test.java