diff --git a/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh b/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh
index 38dd89e099c..6834548674c 100644
--- a/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh
+++ b/agents/ls-java/src/main/resources/installers/1.0.1/org.eclipse.che.ls.java.script.sh
@@ -137,4 +137,4 @@ curl -sL ${DOWNLOAD_AGENT_BINARIES_URI} | tar xzf - -C ${LS_DIR}
echo writing start script to ${LS_LAUNCHER}
touch ${LS_LAUNCHER}
chmod +x ${LS_LAUNCHER}
-echo "java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -noverify -Xmx1G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4410 -jar ${LS_DIR}/plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar -configuration ./config_linux -data ${LS_DIR}/data" > ${LS_LAUNCHER}
+echo "java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -noverify -Xmx1G -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4410 -jar ${LS_DIR}/plugins/org.eclipse.equinox.launcher_1.5.100.v20180607-1243.jar -configuration ./config_linux -data ${LS_DIR}/data" > ${LS_LAUNCHER}
diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml
index 1657063020b..d17a1daaf65 100644
--- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml
+++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml
@@ -21,7 +21,14 @@
org.eclipse.jdt.ui
jar
Che Plugin :: Java :: Eclipse JDT UI
+
+ ${project.build.directory}/generated-sources/dto/
+
+
+ com.google.code.gson
+ gson
+
com.google.guava
guava
@@ -180,6 +187,68 @@
+
+ org.eclipse.che.core
+ che-core-api-dto-maven-plugin
+
+
+ generate-server-dto
+ process-sources
+
+ generate
+
+
+
+ org.eclipse.che.ide.ext.java.shared
+
+ ${dto-generator-out-directory}
+ org.eclipse.che.plugin.java.server.dto.DtoServerImpls
+ server
+
+
+
+
+
+ ${project.groupId}
+ ${project.artifactId}
+ ${project.version}
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-resource
+ process-sources
+
+ add-resource
+
+
+
+
+ ${dto-generator-out-directory}/META-INF
+ META-INF
+
+
+
+
+
+ add-source
+ process-sources
+
+ add-source
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml b/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml
index 987ec6f771c..6893335fb38 100644
--- a/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml
+++ b/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml
@@ -214,6 +214,6 @@
-
+
diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml b/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml
index ea1c1dcaa65..ec3246365d3 100644
--- a/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml
+++ b/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml
@@ -21,26 +21,13 @@
che-plugin-java-ext-lang-shared
Che Plugin :: Java :: Extension Java Shared
- ${project.build.directory}/generated-sources/dto/
false
-
- com.google.code.gson
- gson
-
-
- com.google.inject
- guice
-
-
+
org.eclipse.che.core
che-core-api-dto
-
- org.eclipse.che.core
- che-core-commons-gwt
-
com.google.gwt
gwt-user
@@ -68,18 +55,6 @@
-
- add-source
- process-sources
-
- add-source
-
-
-
-
-
-
-
@@ -94,49 +69,6 @@
-
- org.eclipse.che.core
- che-core-api-dto-maven-plugin
-
-
- generate-client-dto
- process-sources
-
- generate
-
-
-
- org.eclipse.che.ide.ext.java.shared
-
- ${dto-generator-out-directory}
- org.eclipse.che.ide.ext.java.client.dto.DtoClientImpls
- client
-
-
-
- generate-server-dto
- process-sources
-
- generate
-
-
-
- org.eclipse.che.ide.ext.java.shared
-
- ${dto-generator-out-directory}
- org.eclipse.che.plugin.java.server.dto.DtoServerImpls
- server
-
-
-
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
-
-
-
-
+
diff --git a/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java b/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java
index 5705ba03627..2000e163fc7 100644
--- a/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java
+++ b/plugins/plugin-java/che-plugin-java-server/src/main/java/org/eclipse/che/plugin/java/languageserver/JavaLanguageServerExtensionService.java
@@ -420,12 +420,23 @@ public List getResolvedClasspath(String projectUri) {
* @param entries classpath entries
*/
public void updateClasspath(String projectUri, List entries) {
+ List fixedEntries =
+ entries.stream().map(this::fixEntry).collect(Collectors.toList());
UpdateClasspathParameters params = new UpdateClasspathParameters();
params.setProjectUri(projectUri);
- params.setEntries(entries);
+ params.setEntries(fixedEntries);
executeCommand(UPDATE_PROJECT_CLASSPATH, singletonList(params));
}
+ private ClasspathEntry fixEntry(ClasspathEntry e) {
+ ClasspathEntry fixed =
+ new ClasspathEntry().withPath(prefixURI(e.getPath())).withEntryKind(e.getEntryKind());
+ if (e.getChildren() != null) {
+ fixed.setChildren(e.getChildren().stream().map(this::fixEntry).collect(Collectors.toList()));
+ }
+ return fixed;
+ }
+
/**
* Gets source folders of plain java project.
*
@@ -437,7 +448,8 @@ public List getSourceFolders(String projectPath) {
String projectUri = LanguageServiceUtils.prefixURI(projectPath);
Type type = new TypeToken>() {}.getType();
- return doGetList(GET_SOURCE_FOLDERS, projectUri, type);
+ List result = doGetList(GET_SOURCE_FOLDERS, projectUri, type);
+ return result.stream().map(LanguageServiceUtils::removePrefixUri).collect(Collectors.toList());
}
private void checkLanguageServerInitialized() {
@@ -674,7 +686,15 @@ private List getLibraryChildren(ExternalLibrariesParameters params) {
private List getClasspathTree(String projectPath) {
String projectUri = prefixURI(projectPath);
Type type = new TypeToken>() {}.getType();
- return doGetList(GET_CLASS_PATH_TREE_COMMAND, projectUri, type);
+ List result = doGetList(GET_CLASS_PATH_TREE_COMMAND, projectUri, type);
+ return result
+ .stream()
+ .map(
+ cpe -> {
+ cpe.setPath(LanguageServiceUtils.removePrefixUri(cpe.getPath()));
+ return cpe;
+ })
+ .collect(Collectors.toList());
}
private JarEntry getLibraryEntry(String resourceUri) {
diff --git a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java
index c3988615af8..330b041110a 100644
--- a/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java
+++ b/selenium/che-selenium-test/src/test/java/org/eclipse/che/selenium/plainjava/ConfigureClasspathBaseTest.java
@@ -21,6 +21,7 @@
import org.eclipse.che.selenium.core.project.ProjectTemplates;
import org.eclipse.che.selenium.core.workspace.TestWorkspace;
import org.eclipse.che.selenium.pageobject.ConfigureClasspath;
+import org.eclipse.che.selenium.pageobject.Consoles;
import org.eclipse.che.selenium.pageobject.Ide;
import org.eclipse.che.selenium.pageobject.Menu;
import org.eclipse.che.selenium.pageobject.ProjectExplorer;
@@ -37,6 +38,7 @@ public class ConfigureClasspathBaseTest {
@Inject private ConfigureClasspath configureClasspath;
@Inject private Menu menu;
@Inject private TestProjectServiceClient testProjectServiceClient;
+ @Inject private Consoles consoles;
@BeforeClass
public void prepare() throws Exception {
@@ -47,6 +49,7 @@ public void prepare() throws Exception {
PROJECT_NAME,
ProjectTemplates.MAVEN_JAVA_MULTIMODULE);
ide.open(ws);
+ consoles.waitJDTLSProjectResolveFinishedMessage(PROJECT_NAME);
}
@Test