diff --git a/headless-services/jdt-ls-extension/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/JavadocHoverLinkHandler.java b/headless-services/jdt-ls-extension/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/JavadocHoverLinkHandler.java
index d4f717279..56836b45f 100644
--- a/headless-services/jdt-ls-extension/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/JavadocHoverLinkHandler.java
+++ b/headless-services/jdt-ls-extension/org.springframework.tooling.jdt.ls.extension/src/org/springframework/tooling/jdt/ls/extension/JavadocHoverLinkHandler.java
@@ -10,13 +10,14 @@
*******************************************************************************/
package org.springframework.tooling.jdt.ls.extension;
+import java.lang.reflect.Method;
import java.net.URI;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.internal.ui.viewsupport.CoreJavaElementLinks;
+import org.eclipse.jdt.ls.core.internal.javadoc.JavaElementLinks;
import org.eclipse.jdt.ls.core.internal.IDelegateCommandHandler;
import org.springframework.tooling.jdt.ls.commons.java.JavaData;
@@ -34,7 +35,13 @@ public class JavadocHoverLinkHandler implements IDelegateCommandHandler {
if (element != null) {
// Bug in JDT server one '(' not encoded while everything else in the query is
// encoded
- return CoreJavaElementLinks.createURI(null, element).replace("(", "%28");
+ try {
+ Class> clazz = getClass().getClassLoader().loadClass("org.eclipse.jdt.internal.ui.viewsupport.CoreJavaElementLinks");
+ Method method = clazz.getDeclaredMethod("createURI", String.class, IJavaElement.class);
+ return method.invoke(null, null, element);
+ } catch (Exception e) {
+ return JavaElementLinks.createURI(null, element).replace("(", "%28");
+ }
}
} catch (Exception e) {
JdtLsExtensionPlugin.getInstance().getLog().error("Failed to compute java data for " + bindingKey + " in project " + uri, e);
diff --git a/headless-services/jdt-ls-extension/pom.xml b/headless-services/jdt-ls-extension/pom.xml
index 832c9a8da..2cb12d125 100644
--- a/headless-services/jdt-ls-extension/pom.xml
+++ b/headless-services/jdt-ls-extension/pom.xml
@@ -97,14 +97,14 @@
eclipse-2023-09
p2
- https://download.eclipse.org/releases/2024-03
+ https://download.eclipse.org/releases/2023-12
JDT.LS
p2
- https://download.eclipse.org/jdtls/milestones/1.34.0/repository/
+ https://download.eclipse.org/jdtls/milestones/1.30.1/repository/