Skip to content

Refactoring does not work #1408

Closed
Closed
@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