Exception occured when Rignt Click to Fix Imports in a class that implements org.springframework.security.core.userdetails.UserDetails and annotated with Lombok @Builder
When removing Lombok @Data @Builder, Rignt Click / Fix Imports works with no exception.
java.lang.NoSuchFieldError: Class com.sun.tools.javac.parser.Tokens$Comment$CommentStyle does not have member field 'com.sun.tools.javac.parser.Tokens$Comment$CommentStyle JAVADOC' at lombok.javac.Javac$JavadocOps_8$1.getStyle(Javac.java:364) at com.sun.tools.javac.parser.DocCommentParser.getTextKind(DocCommentParser.java:171) at com.sun.tools.javac.parser.DocCommentParser.<init>(DocCommentParser.java:164) at com.sun.tools.javac.parser.DocCommentParser.<init>(DocCommentParser.java:139) at com.sun.tools.javac.api.JavacTrees.getDocCommentTree(JavacTrees.java:1130) at com.sun.tools.javac.parser.LazyDocCommentTable.getCommentTree(LazyDocCommentTable.java:101) at com.sun.tools.javac.api.JavacTrees.getDocCommentTree(JavacTrees.java:760) at org.netbeans.modules.java.editor.base.javadoc.JavadocImports.computeTokensOfReferencedElements(JavadocImports.java:181) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.handleJavadoc(FindLocalUsagesQuery.java:93) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitMethod(FindLocalUsagesQuery.java:114) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitMethod(FindLocalUsagesQuery.java:55) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:989) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:55) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:95) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:110) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118) at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:202) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:141) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:55) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:896) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:55) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:95) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:110) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118) at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:202) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:141) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:55) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:896) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:55) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:110) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118) at com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:151) at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:625) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.findUsages(FindLocalUsagesQuery.java:77) at org.netbeans.modules.java.editor.base.semantic.MarkOccurrencesHighlighterBase.processImpl(MarkOccurrencesHighlighterBase.java:338) at org.netbeans.modules.java.editor.semantic.MarkOccurrencesHighlighter.process(MarkOccurrencesHighlighter.java:93) at org.netbeans.modules.java.editor.base.semantic.MarkOccurrencesHighlighterBase.run(MarkOccurrencesHighlighterBase.java:99) at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702) [catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1403) at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)
Language / Project Type / NetBeans Component
Spring Boot Maven Project
How to reproduce
Create class that implements org.springframework.security.core.userdetails.UserDetails
Add some other fields
Add Lombok @Data @Builder ..
Rignt Click / Fix Imports
Did this work correctly in an earlier version?
No / Don't know
Operating System
Windows 10
JDK
21.0.4; OpenJDK 64-Bit Server VM 21.0.4+7-LTS
Apache NetBeans packaging
Apache NetBeans provided installer
Anything else
My Code
@Slf4j
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false, of = {"username"})
public class UserPrincipal implements UserDetails {
private static final long serialVersionUID = 1L;
private String username;
private String dn;
private String displayName;
private LocalDateTime lastLogon;
private LocalDateTime whenCreated;
private byte[] profilePhoto;
private boolean enabled;
private boolean accountNonExpired;
private boolean credentialsNonExpired;
private boolean accountNonLocked;
private Collection<? extends GrantedAuthority> authorities;
@Override
public String getUsername() {
return username;
}
@Override
public String getPassword() {
return null;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return authorities;
}
@Override
public boolean isAccountNonExpired() {
return accountNonExpired;
}
@Override
public boolean isAccountNonLocked() {
return accountNonLocked;
}
@Override
public boolean isCredentialsNonExpired() {
return credentialsNonExpired;
}
@Override
public boolean isEnabled() {
return enabled;
}
}
Apache NetBeans version
Apache NetBeans 23
What happened
Exception occured when Rignt Click to Fix Imports in a class that implements
org.springframework.security.core.userdetails.UserDetails
and annotated withLombok @Builder
When removing Lombok @Data @Builder, Rignt Click / Fix Imports works with no exception.
java.lang.NoSuchFieldError: Class com.sun.tools.javac.parser.Tokens$Comment$CommentStyle does not have member field 'com.sun.tools.javac.parser.Tokens$Comment$CommentStyle JAVADOC' at lombok.javac.Javac$JavadocOps_8$1.getStyle(Javac.java:364) at com.sun.tools.javac.parser.DocCommentParser.getTextKind(DocCommentParser.java:171) at com.sun.tools.javac.parser.DocCommentParser.<init>(DocCommentParser.java:164) at com.sun.tools.javac.parser.DocCommentParser.<init>(DocCommentParser.java:139) at com.sun.tools.javac.api.JavacTrees.getDocCommentTree(JavacTrees.java:1130) at com.sun.tools.javac.parser.LazyDocCommentTable.getCommentTree(LazyDocCommentTable.java:101) at com.sun.tools.javac.api.JavacTrees.getDocCommentTree(JavacTrees.java:760) at org.netbeans.modules.java.editor.base.javadoc.JavadocImports.computeTokensOfReferencedElements(JavadocImports.java:181) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.handleJavadoc(FindLocalUsagesQuery.java:93) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitMethod(FindLocalUsagesQuery.java:114) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitMethod(FindLocalUsagesQuery.java:55) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:989) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:55) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:95) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:110) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118) at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:202) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:141) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:55) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:896) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:55) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:95) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:110) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118) at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:202) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:141) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.visitClass(FindLocalUsagesQuery.java:55) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:896) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:55) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:110) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:78) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118) at com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:151) at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:625) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) at org.netbeans.api.java.source.support.CancellableTreePathScanner.scan(CancellableTreePathScanner.java:69) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.scan(FindLocalUsagesQuery.java:200) at org.netbeans.modules.java.editor.base.semantic.FindLocalUsagesQuery.findUsages(FindLocalUsagesQuery.java:77) at org.netbeans.modules.java.editor.base.semantic.MarkOccurrencesHighlighterBase.processImpl(MarkOccurrencesHighlighterBase.java:338) at org.netbeans.modules.java.editor.semantic.MarkOccurrencesHighlighter.process(MarkOccurrencesHighlighter.java:93) at org.netbeans.modules.java.editor.base.semantic.MarkOccurrencesHighlighterBase.run(MarkOccurrencesHighlighterBase.java:99) at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288) at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702) [catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1403) at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45) at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)
Language / Project Type / NetBeans Component
Spring Boot Maven Project
How to reproduce
Did this work correctly in an earlier version?
No / Don't know
Operating System
Windows 10
JDK
21.0.4; OpenJDK 64-Bit Server VM 21.0.4+7-LTS
Apache NetBeans packaging
Apache NetBeans provided installer
Anything else
My Code
Are you willing to submit a pull request?
No