diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/.classpath b/headless-services/org.springframework.tooling.jdt.ls.extension/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/.project b/headless-services/org.springframework.tooling.jdt.ls.extension/.project
new file mode 100644
index 000000000..1b18edcd2
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/.project
@@ -0,0 +1,28 @@
+
+
+ org.springframework.tooling.jdt.ls.extension
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/.settings/org.eclipse.jdt.core.prefs b/headless-services/org.springframework.tooling.jdt.ls.extension/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..0c68a61dc
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/META-INF/MANIFEST.MF b/headless-services/org.springframework.tooling.jdt.ls.extension/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..99188644a
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.springframework.tooling.jdt.ls.extension
+Bundle-SymbolicName: org.springframework.tooling.jdt.ls.extension;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Pivotal Inc.
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.jdt.ls.core,
+ org.eclipse.core.runtime
diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/build.properties b/headless-services/org.springframework.tooling.jdt.ls.extension/build.properties
new file mode 100644
index 000000000..e9863e281
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/plugin.xml b/headless-services/org.springframework.tooling.jdt.ls.extension/plugin.xml
new file mode 100644
index 000000000..4e2611527
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/plugin.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/pom.xml b/headless-services/org.springframework.tooling.jdt.ls.extension/pom.xml
new file mode 100644
index 000000000..72e9694ce
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/pom.xml
@@ -0,0 +1,35 @@
+
+ 4.0.0
+ eclipse-plugin
+ org.springframework.ide.vscode
+ org.springframework.tooling.jdt.ls.extension
+ 1.0.0-SNAPSHOT
+ org.springframework.tooling.jdt.ls.extension
+
+ 1.1.0
+
+
+
+ eclipse-oxygen
+ p2
+ http://download.eclipse.org/releases/oxygen
+
+
+ JDT.LS
+ p2
+ http://download.eclipse.org/jdtls/snapshots/repository/latest/
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-maven-plugin
+ ${tycho-version}
+ true
+
+
+
+
\ No newline at end of file
diff --git a/headless-services/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/ResolveClasspathHandler.java b/headless-services/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/ResolveClasspathHandler.java
new file mode 100644
index 000000000..e3fdb68ab
--- /dev/null
+++ b/headless-services/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/ResolveClasspathHandler.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2018 Pivotal, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Pivotal, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.springframework.tooling.jdt.ls.extension;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.ls.core.internal.IDelegateCommandHandler;
+
+@SuppressWarnings("restriction")
+public class ResolveClasspathHandler implements IDelegateCommandHandler {
+
+ @Override
+ public Object executeCommand(String commandId, List