Repository navigation
Compilation fails #4229
Copy link
Copy link
Closed
Description
I have had some issues after updating to JDK 25 (even though officially supported).
I already uninstalled and re-installed all plugins and that fixed some issues (such as tests not being discovered)
But when I try to run a test now, I get a ClassNotFoundException on the test class.
When I force a full build, I see this stacktrace:
Error - 10:17:00] 04 Nov 2025, 10:17:00 Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
org.eclipse.jdt.internal.core.builder.AbortIncrementalBuildException
at org.eclipse.jdt.internal.core.builder.NameEnvironment.findClass(NameEnvironment.java:574)
at org.eclipse.jdt.internal.core.builder.NameEnvironment.findType(NameEnvironment.java:644)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.lambda$0(LookupEnvironment.java:301)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForTypeFromModules(LookupEnvironment.java:453)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:300)
at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:116)
at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:242)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:253)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3499)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:3201)
at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:60)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:509)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:612)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:608)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:944)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1976)
at org.eclipse.jdt.internal.compiler.apt.dispatch.AnnotationDiscoveryVisitor.visit(AnnotationDiscoveryVisitor.java:109)
at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.traverse(FieldDeclaration.java:394)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1645)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:816)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:777)
at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundEnvImpl.<init>(RoundEnvImpl.java:62)
at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:168)
at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:132)
at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:859)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:333)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:309)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:486)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:253)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:377)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:118)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:315)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:218)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1109)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:299)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:355)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:449)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:452)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:564)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:512)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:594)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:615)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:499)
at org.eclipse.jdt.ls.core.internal.handlers.BuildWorkspaceHandler.buildWorkspace(BuildWorkspaceHandler.java:65)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$29(JDTLanguageServer.java:1011)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$63(JDTLanguageServer.java:1252)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
[Error - 10:17:00] 04 Nov 2025, 10:17:00 Failed to build workspace.
org.eclipse.core.internal.resources.ResourceException: Errors occurred during the build.
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:632)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:499)
at org.eclipse.jdt.ls.core.internal.handlers.BuildWorkspaceHandler.buildWorkspace(BuildWorkspaceHandler.java:65)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$29(JDTLanguageServer.java:1011)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$63(JDTLanguageServer.java:1252)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Contains: Errors running builder 'Java Builder' on project 'notula'.
org.eclipse.jdt.internal.core.builder.AbortIncrementalBuildException
at org.eclipse.jdt.internal.core.builder.NameEnvironment.findClass(NameEnvironment.java:574)
at org.eclipse.jdt.internal.core.builder.NameEnvironment.findType(NameEnvironment.java:644)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.lambda$0(LookupEnvironment.java:301)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForTypeFromModules(LookupEnvironment.java:453)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:300)
at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:116)
at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:242)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:253)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3499)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:3201)
at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:60)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:509)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:612)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:608)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:944)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1976)
at org.eclipse.jdt.internal.compiler.apt.dispatch.AnnotationDiscoveryVisitor.visit(AnnotationDiscoveryVisitor.java:109)
at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.traverse(FieldDeclaration.java:394)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1645)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:816)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:777)
at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundEnvImpl.<init>(RoundEnvImpl.java:62)
at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:168)
at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:132)
at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:859)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:333)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:309)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:486)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:253)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:377)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:118)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:315)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:218)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1109)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:299)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:355)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:449)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:452)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:564)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:512)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:594)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:615)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:499)
at org.eclipse.jdt.ls.core.internal.handlers.BuildWorkspaceHandler.buildWorkspace(BuildWorkspaceHandler.java:65)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$29(JDTLanguageServer.java:1011)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$63(JDTLanguageServer.java:1252)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
[Error - 10:17:00] 04 Nov 2025, 10:17:00 Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
org.eclipse.jdt.internal.core.builder.AbortIncrementalBuildException
at org.eclipse.jdt.internal.core.builder.NameEnvironment.findClass(NameEnvironment.java:574)
at org.eclipse.jdt.internal.core.builder.NameEnvironment.findType(NameEnvironment.java:644)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.lambda$0(LookupEnvironment.java:301)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForTypeFromModules(LookupEnvironment.java:453)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:300)
at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:116)
at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:242)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:253)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3499)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:3201)
at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:60)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:509)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:612)
at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:608)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:944)
at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1976)
at org.eclipse.jdt.internal.compiler.apt.dispatch.AnnotationDiscoveryVisitor.visit(AnnotationDiscoveryVisitor.java:109)
at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.traverse(FieldDeclaration.java:394)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1645)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:816)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:777)
at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundEnvImpl.<init>(RoundEnvImpl.java:62)
at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:168)
at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:132)
at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:859)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:333)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:309)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:486)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:253)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:377)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:118)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:315)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:224)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1109)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:299)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:355)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:449)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:452)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:564)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:512)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:594)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:208)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:309)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
[Error - 10:17:00] 04 Nov 2025, 10:17:00 Errors occurred during the build.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
fbricon commentedon Nov 4, 2025
What did you update to java 25? your project compilation target or the jdk to run the java language server?
Can you try running the
Java: Clean Java Language Server Workspacecommand?fbricon commentedon Nov 4, 2025
@jjohnstn does this ring any bells?
ChrisVesters commentedon Nov 4, 2025
@fbricon I have updated everything to java/JDK 25
I have already tried to clean the Java Language Server Workspace, but with no result.
I do notice however that the option to configure which Java runtime to use no longer is present. Maybe that is relevant?
Note: I am using Mac
jjohnstn commentedon Nov 4, 2025
No, unfortunately.
ChrisVesters commentedon Nov 5, 2025
I have an update, but I don't know whether it will clear things up or not.
So I tried it on a different project. I updated the pom version to 25 as well, and there everything works.
Same machine, 'same' vscode (but different workspace), different results.
The thing is, I don't feel like there is anything wrong with the compiler or other language support features.
The only thing that really isn't working is running the tests in vscode. And the cause of that is that the test-classes are not being compiled. So I get a ClassNotFoundException.
fbricon commentedon Nov 5, 2025
did you update vscode-java-test to the latest release?
ChrisVesters commentedon Nov 5, 2025
I have everything up-to-date. And if it wasn't I assume it would be the same for the project where it does work.
fbricon commentedon Nov 5, 2025
Can you reproduce if you open the same code moved to a different location? different machine or OS?
ChrisVesters commentedon Nov 5, 2025
@fbricon I tried it on a different computer (LMDE 6), and it is exactly the same.
So it seems there is something wrong with the project itself.
Any idea on how to fix it? Or get more information on what exactly is the problem?
ChrisVesters commentedon Nov 5, 2025
@fbricon I just thought of something to try out myself.
I went back to the main branch, which worked before, and that one still works!
So I will investigate what the difference is, and when exactly it starts to break and let you know.
I don't need any further information or support from you or your team.
Thanks for the quick responses and the help/suggestions.
I will keep this issue open so I can keep you informed and it can maybe help others.
fbricon commentedon Nov 5, 2025
It might be some code in your project the ECJ compiler really really doesn't like. Or somewhere in the above JDT layer.
You can try switching the compiler to javac, see if it makes any difference (See
java.jdt.ls.javac.enabledsetting)ChrisVesters commentedon Nov 6, 2025
@fbricon I found the cause of the issue. It was some weird refactoring gone wrong.
I had a test class where the class name did not match the file name, which is of course not valid in Java.
I don't understand that there wasn't some error pointing this out to me, but after fixing this, the error is now gone.
Thank you for your help, and I am sorry for my silly mistake.
fbricon commentedon Nov 6, 2025
it's actually valid with javac, ECJ doesn't allow it
ChrisVesters commentedon Nov 6, 2025
I assume the issue stems from the fact that my class was not declared as public, but as default scope (since it was a test class). Anyway, I am just glad it is resolved.