【问题标题】:how can i stop my gradle from causing this error?我怎样才能阻止我的 gradle 导致这个错误?
【发布时间】:2021-10-15 21:02:40
【问题描述】:

刚开始 java 编程,当我启动 Visual Studio 代码时,gradle 说它无法启动 gradle 语言服务器,如图所示:

它还会抛出很多可怕的错误:

Oct 15, 2021 9:51:13 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError
SEVERE: Internal error: java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:67)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.request(GenericEndpoint.java:120)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleRequest(RemoteEndpoint.java:261)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:190)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
    at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
    ... 11 more
Caused by: java.lang.NullPointerException: Cannot read the array length because "<local3>" is null
    at com.microsoft.gradle.resolver.GradleLibraryResolver.searchInFolder(GradleLibraryResolver.java:161)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.findCoreAPIWithDist(GradleLibraryResolver.java:152)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.findCoreAPIWithWrapper(GradleLibraryResolver.java:140)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.resolveGradleAPI(GradleLibraryResolver.java:89)
    at com.microsoft.gradle.GradleServices.applySetting(GradleServices.java:160)
    at com.microsoft.gradle.GradleLanguageServer.initialize(GradleLanguageServer.java:90)
    ... 16 more

[Error - 21:51:14] Server initialization failed.
  Message: Internal error.
  Code: -32603 
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:67)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.request(GenericEndpoint.java:120)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleRequest(RemoteEndpoint.java:261)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:190)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
    at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
    ... 11 more
Caused by: java.lang.NullPointerException: Cannot read the array length because "<local3>" is null
    at com.microsoft.gradle.resolver.GradleLibraryResolver.searchInFolder(GradleLibraryResolver.java:161)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.findCoreAPIWithDist(GradleLibraryResolver.java:152)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.findCoreAPIWithWrapper(GradleLibraryResolver.java:140)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.resolveGradleAPI(GradleLibraryResolver.java:89)
    at com.microsoft.gradle.GradleServices.applySetting(GradleServices.java:160)
    at com.microsoft.gradle.GradleLanguageServer.initialize(GradleLanguageServer.java:90)
    ... 16 more

[Error - 21:51:14] Starting client failed
  Message: Internal error.
  Code: -32603 
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:67)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.request(GenericEndpoint.java:120)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleRequest(RemoteEndpoint.java:261)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:190)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
    at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
    ... 11 more
Caused by: java.lang.NullPointerException: Cannot read the array length because "<local3>" is null
    at com.microsoft.gradle.resolver.GradleLibraryResolver.searchInFolder(GradleLibraryResolver.java:161)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.findCoreAPIWithDist(GradleLibraryResolver.java:152)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.findCoreAPIWithWrapper(GradleLibraryResolver.java:140)
    at com.microsoft.gradle.resolver.GradleLibraryResolver.resolveGradleAPI(GradleLibraryResolver.java:89)
    at com.microsoft.gradle.GradleServices.applySetting(GradleServices.java:160)
    at com.microsoft.gradle.GradleLanguageServer.initialize(GradleLanguageServer.java:90)
    ... 16 more

我已经尝试了我能想到的一切来尝试解决这个问题,但似乎没有任何效果,任何帮助都会真正得到帮助, 提前谢谢你

【问题讨论】:

  • 也许尝试通过official gradle installation guide运行/重新安装gradle?
  • 我试过这个,但运行 vscode 时没有区别
  • 注意错误Caused by: java.lang.NullPointerException: Cannot read the array length because "&lt;local3&gt;" is null。修复它然后看看问题是否消失。

标签: java gradle visual-studio-code


【解决方案1】:

我不了解 Visual Studio,但您可能必须为 Gradle 配置它。谷歌搜索谈到了一个 VS“插件”以获得“Gradle 语言支持”。你有那个插件吗? https://marketplace.visualstudio.com/items?itemName=naco-siren.gradle-language

我经常对 gradle 项目做的另一件事是先让它们从命令行构建,然后弄清楚如何将它们导入 IDE。

大多数“现代”,或者最近可能是一个更好的术语,都安装了“gradle wrapper”。在命令行中,您通常只需要在 Unix 上 ./gradlew build,在 Windows 上 gradlew.bat build

【讨论】:

  • 我已经尝试了所有这三种方法,但我没有注意到 ./gradlew build 不起作用,因为 ./gradlew 不是一个经过整理的命令,可能与它有关
  • @connorb151,gradlew 和 gradlew.bat 是文件。如果项目已经通过了“gradle wrapper”,你可以在 unix 上用ls 或在 windows 上用dir 找到它们。看来你在这里运气不好。对不起,我帮不上什么忙。对于 Java,我喜欢 gradle 作为构建工具。
猜你喜欢
  • 2018-07-15
  • 1970-01-01
  • 2022-10-18
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 2011-12-05
  • 1970-01-01
  • 2020-03-30
相关资源
最近更新 更多