Javadoc 加载减慢了 Eclipse

Javadoc loading slows down Eclipse

每当加载 JavaDoc 工具提示时

a) 将光标悬停在对象上

b) 或使用代码助手(自动完成)

我最多需要 1 秒才能继续打字。它不会在启动后立即发生,而是在使用 STS/Eclipse 一段时间后发生。然后我必须重新启动它才能解决问题。

我还注意到 CPU 使用率很高 (25%),即使 STS 运行 在后台,也没有被使用。

已记录以下错误:

java.lang.InterruptedException
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:347)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
        at org.springframework.tooling.boot.ls.jdt.LSPTextHover.getHoverInfo(LSPTextHover.java:109)
        at org.springframework.tooling.boot.ls.jdt.SpringBootJavaHoverProvider.getHoverInfo2(SpringBootJavaHoverProvider.java:42)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:167)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:133)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89)
        at org.eclipse.jface.text.TextViewerHoverManager.run(TextViewerHoverManager.java:169)



!ENTRY org.eclipse.jface.text 4 0 2019-09-24 11:14:07.629
!MESSAGE Unexpected runtime error while computing a text hover
!STACK 0
java.lang.NullPointerException
        at org.eclipse.jdt.internal.compiler.lookup.UnresolvedAnnotationBinding.resolve(UnresolvedAnnotationBinding.java:34)
        at org.eclipse.jdt.internal.compiler.lookup.UnresolvedAnnotationBinding.getAnnotationType(UnresolvedAnnotationBinding.java:41)
        at org.eclipse.jdt.core.dom.MethodBinding.filterTypeAnnotations(MethodBinding.java:227)
        at org.eclipse.jdt.core.dom.MethodBinding.getAnnotations(MethodBinding.java:116)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getAnnotations(JavadocHover.java:1192)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.addAnnotations(JavadocHover.java:1149)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:757)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:678)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:670)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:167)
        at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:133)
        at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89)
        at org.eclipse.jface.text.TextViewerHoverManager.run(TextViewerHoverManager.java:169)

我已经尝试过的:

我已经禁用 "Preferences/Java/Editor/Hovers" 下的 "Combined Hover" 解决了问题 a).

我在 "Preferences/Maven/Download Artifact Javadoc" 下启用。所有 Javadoc 都应该可以离线使用,因此加载速度极快。但是加载速度很慢。

输入和使用代码助手时常量 freezing/loading 仍然很烦人。

有没有办法禁用内容助手的javadoc?或者是否有任何解决方法来加快 JavaDoc 加载时间?我无法解释为什么显示 javadoc 工具提示要花这么多时间。它从哪里加载?如果它是离线加载的,它应该会加载得很快。

我正在使用基于 Eclipse Platform v4.13.0 和 OpenJ9 JDK11 的 STS v4.4。

似乎 Language Server 正在减慢代码完成速度。我禁用了 "Preferences / Language Servers" 下的 Language Server。打字时的冻结消失了。

一旦我能 100% 确认这就是冻结的原因,我就会提交错误报告。