如何为Lombok注解添加Javadoc?注解Javadoc无法生成排查
给Lombok注解添加Javadoc的问题解答
这个需求是可行的,但你的操作方式有误——不能直接把Javadoc写在Lombok构造器注解的上方,因为你写的这段Javadoc会被识别为@RequiredArgsConstructor注解本身的文档,不会自动关联到Lombok生成的构造器上,所以Javadoc工具不会把它生成到构造器的文档里。
正确的实现方式有两种:
方案一:手动编写构造器签名并添加Javadoc
如果你需要精准控制构造器的Javadoc,可以手动写出构造器的完整签名,加上对应的Javadoc,此时Lombok会跳过该构造器的生成(因为你已经手动实现了签名),同时不影响其他Lombok注解的功能:
public class OrderDTO { private final BigDecimal totalValue; /** * Custom constructor used only in {@code OrderMapper}. * @param totalValue single parameter necessary to pass on the information to frontend */ public OrderDTO(BigDecimal totalValue) { this.totalValue = totalValue; } }
注:如果类中还有其他final字段,这种方式需要手动维护构造器参数,灵活性不如Lombok自动生成。
方案二:使用Lombok实验性的@Javadoc注解
Lombok提供了实验性的@lombok.experimental.Javadoc注解,可直接将文档附加到生成的构造器上。需要先在项目中启用Lombok实验特性(比如在lombok.config文件中添加lombok.experimental.javadoc=true),然后按如下方式使用:
@RequiredArgsConstructor @Javadoc("Custom constructor used only in {@code OrderMapper}.\n@param totalValue single parameter necessary to pass on the information to frontend") public class OrderDTO { private final BigDecimal totalValue; }
不管是@RequiredArgsConstructor还是@NoArgsConstructor,都无法通过“注解上方写Javadoc”的方式给生成的构造器添加文档——这是Javadoc的归属逻辑决定的:注解上的Javadoc只属于注解本身,不会被Lombok转移到生成的代码元素上。
内容的提问来源于stack exchange,提问作者Kibe Charutinho
相关产品推荐
相关产品推荐

