Skip to content

Refactoring does not work #1408

@JanecekPetr

Description

@JanecekPetr

On a fresh installation of STS,

Version: 4.26.0.RELEASE Build Id: 202410162246 

on Windows 11 and Java 23, I created an empty workspace with an otherwise empty demo Spring Boot project using Spring Initializr. When I run ANY Rewrite-provided refactoring, e.g. "Update to Java 17", I get a failure.

Sample

java.lang.reflect.InvocationTargetException	at org.springframework.tooling.boot.ls.commands.RewriteRefactoringsHandler.lambda$3(RewriteRefactoringsHandler.java:114)	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:124) Caused by: java.util.concurrent.ExecutionException: org.eclipse.lsp4j.jsonrpc.ResponseErrorException: Internal error.	at java.base/java.util.concurrent.CompletableFuture.wrapInExecutionException(CompletableFuture.java:345)	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:440)	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2117)	at org.springframework.tooling.boot.ls.commands.RewriteRefactoringsHandler.lambda$3(RewriteRefactoringsHandler.java:112)	... 1 more Caused by: org.eclipse.lsp4j.jsonrpc.ResponseErrorException: Internal error.	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:220)	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:204)	at org.eclipse.lsp4e.LanguageServerWrapper.lambda$3(LanguageServerWrapper.java:318)	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:185)	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:97)	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:114)	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)	[...] 

The raw Language Server exception:

[2024-11-13T12:28:15.935529800+01:00] LANGUAGE_SERVER_TO_LSP4E org.eclipse.languageserver.languages.springboot: {"jsonrpc":"2.0","id":"20","error":{"code":-32603,"message":"Internal error.","data":"java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: org/opentest4j/TestAbortedException [...]"}} 

Extracted the exception:

java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: org/opentest4j/TestAbortedException	at java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(CompletableFuture.java:323)	[...]	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:189) Caused by: java.lang.NoClassDefFoundError: org/opentest4j/TestAbortedException	at org.springframework.ide.vscode.commons.rewrite.gradle.GradleIJavaProjectParser.parseBuildFiles(GradleIJavaProjectParser.java:71)	at org.springframework.ide.vscode.commons.rewrite.java.ProjectParser.parse(ProjectParser.java:45)	at org.springframework.ide.vscode.boot.java.rewrite.RewriteRecipeRepository.lambda$apply$25(RewriteRecipeRepository.java:405)	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1194)	... 7 more Caused by: java.lang.ClassNotFoundException: org.opentest4j.TestAbortedException	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)	... 11 more 

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions