java.util.concurrent.ExecutionException:org.eclipse.lsp4j.jsonrpc.JsonRpcException:java.io.IOException:管道正在关闭

Siv*_*iva 2 eclipse language-server-protocol sts

我的 Eclipse '.metadata.log' 文件中出现以下异常,导致 CPU 使用率几乎达到 80%。有人知道这是什么意思吗?或者说需要如何修复?这是在 Eclipse 上安装 STS 插件后开始的。

`

java.util.concurrent.ExecutionException: org.eclipse.lsp4j.jsonrpc.JsonRpcException: java.io.IOException: The pipe is being closed
    at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096)
    at org.eclipse.lsp4e.LanguageServerWrapper.lambda$13(LanguageServerWrapper.java:497)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: org.eclipse.lsp4j.jsonrpc.JsonRpcException: java.io.IOException: The pipe is being closed
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageConsumer.consume(StreamMessageConsumer.java:72)
    at org.eclipse.lsp4e.LanguageServerWrapper.lambda$3(LanguageServerWrapper.java:265)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.request(RemoteEndpoint.java:161)
    at org.eclipse.lsp4j.jsonrpc.services.EndpointProxy.invoke(EndpointProxy.java:91)
    at jdk.proxy11/jdk.proxy11.$Proxy35.shutdown(Unknown Source)
    at org.eclipse.lsp4e.LanguageServerWrapper.lambda$13(LanguageServerWrapper.java:495)
    ... 7 more
Run Code Online (Sandbox Code Playgroud)

`

这绝对会降低我的工作效率,而我这里有一台配置非常好的机器,Lenovo t495,配备完整 SSD 存储和 32 GB RAM。只是没有意义。检查“.metadata.log”文件并继续看到此异常。

Siv*_*iva 9

我想我找到了答案。我是 Spring 新手,但这就是我解决它的方法。

在下面的设置中选择Spring boot。 Eclipse 首选项

另外仅供参考,当我在下面的设置中启用日志时,我发现我的每个项目源文件都作为文本提交到某个进程,并且这是针对每个文件完成的。因此,正在提交整个项目文本(或其他内容),并且“发布”失败,并且插件继续处理下一个文件,并且每个源文件都会发生这些失败。我不知道该插件是否试图以“无限循环”或其他方式提交,但这似乎就是 CPU 使用率飙升并使机器变得无用的原因。

启用“Spring 语言服务器”实际上解决了这个问题。我看到 CPU 出现短暂的峰值,大约 7-10%,在此更改之后仅此而已。

语言服务器日志

然后我发现,语言服务器控制台正在瞬间创建,然后终止,这解释了 CPU 使用率 7-10% 的小峰值。我真的被这个问题折磨了一个月(可能听起来很愚蠢:|),我的实际任务被延迟了,然后这终于解决了它。

语言服务器控制台

我觉得这可以更明智地处理,不确定我是否没有受过足够的教育来使用这个插件,因为我是 Spring 的新手。

希望这对某人有帮助!

编辑:我认为最好的方法是将其关闭。进行此更改后,Eclipse 在功能上对我来说仍然工作正常。希望这个插件运行良好,有一天会看到它的好处。

关闭语言服务器支持