Skip to content

bug: Lombok annotation @Accessors can not work #120

Closed

Description

@JohnWickzzz

Did you check docs and existing issues?

  • I have read all the plugin docs
  • I have searched the existing issues
  • I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)

0.9.5

Operating system/version

MacOS 12.7.2

Describe the bug

In java project, when I use lombok annotation @Accessors(chain = true).
It shows Lombok annotation handler class lombok.eclipse.handlers.HandleAccessors failed - See error log, but I can't find the error log.
And In IJ IDEA, the project can works normal.
I don't know if this problem is relevant to nvim-java plugin, If I'm not asking the right question, I will close this issue.

Steps To Reproduce

  1. Open a java project, add @Accessors(chain = true) to a model file like User.java;
  2. It will show the error.

Expected Behavior

I wish this annotation can work normally, like the IJ IDEA.

Activity

  1. CyberDruga commented on Feb 6, 2024

    @CyberDruga

    I'm having the same issue on Linux and on the same Neovim Version. But in addition to the same message at the top of the file for the @Builder annotation in my case, the lsp says that The method builder() is undefined where I try to use .builder().

    UPDATE: the @Builder annotation does work, but only when you don't call it with parameters. If you call the annotation with any parameters, like @Builder(setterPrefix = "with") you get the error.

  2. radek-nowak commented on Feb 8, 2024

    @radek-nowak

    I'm encountering similar issues with annotations such as @NoArgsConstructor, @AllArgsConstructor, @Data, and @Getter when trying to specify annotation parameters.

    Interestingly, when using annotations like @Table(name = "some_name"), no errors appear, suggesting that the issue may be specific to Lombok.

    Despite these errors, the project compiles and functions correctly, indicating that they might be related to the interaction between jdtls and Lombok. I've attempted manual configuration of jdtls, but the problem remains.

  3. s1n7ax commented on Feb 9, 2024

    @s1n7ax
    Member

    Logs:

    [START][2024-02-09 08:23:58] LSP logging initiated
    [ERROR][2024-02-09 08:23:58] .../vim/lsp/rpc.lua:734	"rpc"	"/home/s1n7ax/.nix-profile/bin/java"	"stderr"	"WARNING: Using incubator modules: jdk.incubator.vector, jdk.incubator.foreign
    "
    [ERROR][2024-02-09 08:23:58] .../vim/lsp/rpc.lua:734	"rpc"	"/home/s1n7ax/.nix-profile/bin/java"	"stderr"	"Feb 09, 2024 8:23:58 AM org.apache.aries.spifly.BaseActivator log
    INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
    "
    [ERROR][2024-02-09 08:23:58] .../vim/lsp/rpc.lua:734	"rpc"	"/home/s1n7ax/.nix-profile/bin/java"	"stderr"	"Feb 09, 2024 8:23:58 AM org.apache.aries.spifly.BaseActivator log
    INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
    "
    [WARN][2024-02-09 08:24:01] ...lsp/handlers.lua:137	"The language server jdtls triggers a registerCapability handler despite dynamicRegistration set to false. Report upstream, this warning is harmless"
    [ERROR][2024-02-09 08:24:01] ...lsp/handlers.lua:535	"Feb 9, 2024, 8:24:01 AM Lombok annotation handler class lombok.eclipse.handlers.HandleAccessors failed
    'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    java.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    \tat lombok.eclipse.handlers.EclipseHandlerUtil.createAnnotation(EclipseHandlerUtil.java:1335)
    \tat lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:105)
    \tat lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:237)
    \tat lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:265)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:107)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:74)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:69)
    \tat lombok.eclipse.EclipseAST.traverse(EclipseAST.java:224)
    \tat lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:222)
    \tat lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:183)
    \tat lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:107)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat lombok.launch.PatchFixesHider$Util.invokeMethod(PatchFixesHider.java:133)
    \tat lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:256)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:12067)
    \tat org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:131)
    \tat org.eclipse.jdt.internal.compiler.SourceElementParser.endParse(SourceElementParser.java:830)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13269)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13499)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13456)
    \tat org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit(SourceElementParser.java:1122)
    \tat org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:196)
    \tat org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:266)
    \tat org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:572)
    \tat org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:303)
    \tat org.eclipse.jdt.internal.core.Openable.open(Openable.java:453)
    \tat org.eclipse.jdt.internal.core.CompilationUnit.getImports(CompilationUnit.java:827)
    \tat org.eclipse.jdt.ls.core.internal.contentassist.CompletionProposalUtils.addStaticImportsAsFavoriteImports(CompletionProposalUtils.java:73)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.handleOpen(BaseDocumentLifeCycleHandler.java:399)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.didOpen(BaseDocumentLifeCycleHandler.java:342)
    \tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.didOpen(JDTLanguageServer.java:885)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$recursiveFindRpcMethods$0(GenericEndpoint.java:65)
    \tat org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
    \tat org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
    \tat org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
    \tat org.eclipse.jdt.ls.core.internal.ParentProcessWatcher.lambda$1(ParentProcessWatcher.java:144)
    \tat org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
    \tat org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
    \tat org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
    \tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    \tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    \tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    \tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    \tat java.base/java.lang.Thread.run(Thread.java:833)
    "
    [ERROR][2024-02-09 08:24:01] ...lsp/handlers.lua:535	"Feb 9, 2024, 8:24:01 AM Lombok annotation handler class lombok.eclipse.handlers.HandleAccessors failed
    'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    java.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    \tat lombok.eclipse.handlers.EclipseHandlerUtil.createAnnotation(EclipseHandlerUtil.java:1335)
    \tat lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:105)
    \tat lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:237)
    \tat lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:265)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:107)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:74)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:69)
    \tat lombok.eclipse.EclipseAST.traverse(EclipseAST.java:224)
    \tat lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:222)
    \tat lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:183)
    \tat lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:107)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat lombok.launch.PatchFixesHider$Util.invokeMethod(PatchFixesHider.java:133)
    \tat lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:256)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:12067)
    \tat org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:131)
    \tat org.eclipse.jdt.internal.compiler.SourceElementParser.endParse(SourceElementParser.java:830)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13269)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13499)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13456)
    \tat org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit(SourceElementParser.java:1122)
    \tat org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:196)
    \tat org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:266)
    \tat org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:572)
    \tat org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:43)
    \tat org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:742)
    \tat org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:808)
    \tat org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:98)
    \tat org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:105)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.handleOpen(BaseDocumentLifeCycleHandler.java:401)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.didOpen(BaseDocumentLifeCycleHandler.java:342)
    \tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.didOpen(JDTLanguageServer.java:885)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$recursiveFindRpcMethods$0(GenericEndpoint.java:65)
    \tat org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
    \tat org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
    \tat org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
    \tat org.eclipse.jdt.ls.core.internal.ParentProcessWatcher.lambda$1(ParentProcessWatcher.java:144)
    \tat org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
    \tat org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
    \tat org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
    \tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
    \tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    \tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    \tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    \tat java.base/java.lang.Thread.run(Thread.java:833)
    "
    [ERROR][2024-02-09 08:24:01] ...lsp/handlers.lua:535	"Feb 9, 2024, 8:24:01 AM ...pace/nvim-java/lua/java/startup/lspconfig-setup-wrap.lua:39: attempt to call local 'callback' (a table value)"
    [ERROR][2024-02-09 08:24:01] .../vim/lsp/rpc.lua:734	"rpc"	"/home/s1n7ax/.nix-profile/bin/java"	"stderr"	"Feb 09, 2024 8:24:01 AM com.microsoft.java.debug.plugin.internal.JavaDebuggerServerPlugin start
    INFO: Starting com.microsoft.java.debug.plugin
    "
    [ERROR][2024-02-09 08:24:01] ...lsp/handlers.lua:535	"Feb 9, 2024, 8:24:01 AM Lombok annotation handler class lombok.eclipse.handlers.HandleAccessors failed
    'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    java.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    \tat lombok.eclipse.handlers.EclipseHandlerUtil.createAnnotation(EclipseHandlerUtil.java:1335)
    \tat lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:105)
    \tat lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:237)
    \tat lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:265)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:107)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:74)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:69)
    \tat lombok.eclipse.EclipseAST.traverse(EclipseAST.java:224)
    \tat lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:222)
    \tat lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:183)
    \tat lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:107)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat lombok.launch.PatchFixesHider$Util.invokeMethod(PatchFixesHider.java:133)
    \tat lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:256)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:12067)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13269)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13499)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13456)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:11838)
    \tat org.eclipse.jdt.internal.core.search.matching.MatchLocator.parseAndBuildBindings(MatchLocator.java:1951)
    \tat org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1306)
    \tat org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1407)
    \tat org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1550)
    \tat org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:135)
    \tat org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:254)
    \tat org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:600)
    \tat org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:669)
    \tat com.microsoft.java.debug.plugin.internal.ResolveMainClassHandler.resolveMainClassUnderPaths(ResolveMainClassHandler.java:153)
    \tat com.microsoft.java.debug.plugin.internal.ResolveMainClassHandler.resolveMainClassCore(ResolveMainClassHandler.java:97)
    \tat com.microsoft.java.debug.plugin.internal.ResolveMainClassHandler.resolveMainClass(ResolveMainClassHandler.java:64)
    \tat com.microsoft.java.debug.plugin.internal.JavaDebugDelegateCommandHandler.executeCommand(JavaDebugDelegateCommandHandler.java:65)
    \tat org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
    \tat org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    \tat org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
    \tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:616)
    \tat org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
    \tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
    \tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
    \tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    \tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    \tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    \tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    \tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
    "
    [ERROR][2024-02-09 08:24:01] ...lsp/handlers.lua:535	"Feb 9, 2024, 8:24:01 AM Lombok annotation handler class lombok.eclipse.handlers.HandleAccessors failed
    'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    java.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    \tat lombok.eclipse.handlers.EclipseHandlerUtil.createAnnotation(EclipseHandlerUtil.java:1335)
    \tat lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:105)
    \tat lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:237)
    \tat lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:265)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:107)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:74)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:69)
    \tat lombok.eclipse.EclipseAST.traverse(EclipseAST.java:224)
    \tat lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:222)
    \tat lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:183)
    \tat lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:107)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat lombok.launch.PatchFixesHider$Util.invokeMethod(PatchFixesHider.java:133)
    \tat lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:256)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:12067)
    \tat org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:131)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13269)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13499)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13456)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:11838)
    \tat org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:850)
    \tat org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:393)
    \tat org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1251)
    \tat org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:790)
    \tat org.eclipse.jdt.core.dom.ASTParser.internalCreateASTCached(ASTParser.java:1242)
    \tat org.eclipse.jdt.core.dom.ASTParser.lambda$0(ASTParser.java:1120)
    \tat org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5821)
    \tat org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1120)
    \tat org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:868)
    \tat org.eclipse.jdt.core.manipulation.CoreASTProvider$1.run(CoreASTProvider.java:294)
    \tat org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
    \tat org.eclipse.jdt.core.manipulation.CoreASTProvider.createAST(CoreASTProvider.java:286)
    \tat org.eclipse.jdt.core.manipulation.CoreASTProvider.getAST(CoreASTProvider.java:199)
    \tat org.eclipse.jdt.ls.core.internal.handlers.SemanticTokensHandler.getAst(SemanticTokensHandler.java:83)
    \tat org.eclipse.jdt.ls.core.internal.handlers.SemanticTokensHandler.full(SemanticTokensHandler.java:50)
    \tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$53(JDTLanguageServer.java:1169)
    \tat org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
    \tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
    \tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
    \tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    \tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    \tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    \tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    \tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
    "
    [ERROR][2024-02-09 08:24:02] ...lsp/handlers.lua:535	"Feb 9, 2024, 8:24:02 AM Lombok annotation handler class lombok.eclipse.handlers.HandleAccessors failed
    'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    java.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    \tat lombok.eclipse.handlers.EclipseHandlerUtil.createAnnotation(EclipseHandlerUtil.java:1335)
    \tat lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:105)
    \tat lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:237)
    \tat lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:265)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:107)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:74)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:69)
    \tat lombok.eclipse.EclipseAST.traverse(EclipseAST.java:224)
    \tat lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:222)
    \tat lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:183)
    \tat lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:107)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat lombok.launch.PatchFixesHider$Util.invokeMethod(PatchFixesHider.java:133)
    \tat lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:256)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:12067)
    \tat org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:131)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13269)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13499)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13456)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:11838)
    \tat org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:850)
    \tat org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:393)
    \tat org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:1037)
    \tat org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:1110)
    \tat org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:282)
    \tat org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:348)
    \tat org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190)
    \tat org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:94)
    \tat org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:742)
    \tat org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:808)
    \tat org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1326)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:326)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:289)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler$PublishDiagnosticJob.run(BaseDocumentLifeCycleHandler.java:751)
    \tat org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    "
    [ERROR][2024-02-09 08:24:02] ...lsp/handlers.lua:535	"Feb 9, 2024, 8:24:02 AM Lombok annotation handler class lombok.eclipse.handlers.HandleAccessors failed
    'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    java.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt.internal.compiler.ast.Expression.print(int, java.lang.StringBuffer)'
    \tat lombok.eclipse.handlers.EclipseHandlerUtil.createAnnotation(EclipseHandlerUtil.java:1335)
    \tat lombok.eclipse.HandlerLibrary$AnnotationHandlerContainer.handle(HandlerLibrary.java:105)
    \tat lombok.eclipse.HandlerLibrary.handleAnnotation(HandlerLibrary.java:237)
    \tat lombok.eclipse.TransformEclipseAST$AnnotationVisitor.visitAnnotationOnType(TransformEclipseAST.java:265)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:107)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:74)
    \tat lombok.eclipse.EclipseAST.traverseChildren(EclipseAST.java:231)
    \tat lombok.eclipse.EclipseNode.traverse(EclipseNode.java:69)
    \tat lombok.eclipse.EclipseAST.traverse(EclipseAST.java:224)
    \tat lombok.eclipse.TransformEclipseAST.go(TransformEclipseAST.java:222)
    \tat lombok.eclipse.TransformEclipseAST.transform(TransformEclipseAST.java:183)
    \tat lombok.eclipse.TransformEclipseAST.transform_swapped(TransformEclipseAST.java:107)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    \tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    \tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    \tat java.base/java.lang.reflect.Method.invoke(Method.java:568)
    \tat lombok.launch.PatchFixesHider$Util.invokeMethod(PatchFixesHider.java:133)
    \tat lombok.launch.PatchFixesHider$Transform.transform_swapped(PatchFixesHider.java:256)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.endParse(Parser.java:12067)
    \tat org.eclipse.jdt.internal.core.util.CommentRecorderParser.endParse(CommentRecorderParser.java:131)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13269)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13499)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:13456)
    \tat org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:11838)
    \tat org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:850)
    \tat org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:393)
    \tat org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:1037)
    \tat org.eclipse.jdt.internal.compiler.Compiler.resolve(Compiler.java:1110)
    \tat org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:282)
    \tat org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:348)
    \tat org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190)
    \tat org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:103)
    \tat org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:742)
    \tat org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:808)
    \tat org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1326)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:326)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler.publishDiagnostics(BaseDocumentLifeCycleHandler.java:289)
    \tat org.eclipse.jdt.ls.core.internal.handlers.BaseDocumentLifeCycleHandler$PublishDiagnosticJob.run(BaseDocumentLifeCycleHandler.java:751)
    \tat org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
    "
    
  4. s1n7ax commented on Feb 9, 2024

    @s1n7ax
    Member

    @buptlibo This looks like an issue with the lombok.jar version. I replaced the lombok jar downloaded from the mason registry with 1.18.0 but define the project dependency to 1.18.30.

    All the newer properties that does not available in 1.18.0 like @Builder(setterPrefix = "test") are available without any errors. Unfortunately the lombok version at the moment cannot be controlled independently from jdtls in maven.

  5. tokyramarozaka commented on Feb 23, 2024

    @tokyramarozaka

    I have the same issue : the program does work, but I think annotation processing does not work. Neovim does dislay errors that getters and constructors created through lombok does not exist. Is there a way to fix this in the .lua plugin file ? or maybe init.lua ?

  6. aeropagz commented on Mar 1, 2024

    @aeropagz

    downloading the nightly lombok release does also work, jdtls made same API changes where lombok breaks.
    In nighly version lombok got fixed already.

    download here and replace lombok.jar in $HOME/.local/share/nvim/mason/packages/jdtls/

  7. s1n7ax commented on Mar 1, 2024

    @s1n7ax
    Member

    Planing to create a separate package for lombok but I don't have time right now. May be next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions