无法在具有onmethod属性的lombok setter / getter上生成JavaDoc

问题描述 投票:0回答:1

[我正在尝试为利用lombok的项目生成JavaDoc,并且在我对生成的setter和getter进行注释的情况下遇到问题。

代码:

public class Car {
  @Getter(onMethod = @__(@Sensitive))
  @Setter(onMethod = @__(@Sensitive))
  @Sensitive
  @ToString.Exclude
  @Transient
  protected transient String instanceKeyId;

而且,我正在跑步:

mvn javadoc:attach-javadocs

[执行此操作时,出现此错误:

[ERROR] Exit code: 1 - Car.java:26: error: cannot find symbol
[ERROR]   @Getter(onMethod = @__(@Sensitive))

我使用Java 11-我的项目确实可以构建和运行。我拥有最新版本的javadoc插件,我在这里还缺少其他东西吗?

听起来我需要注意此处的建议1并设置delombok,然后对似乎有点多余的内容执行javadoc。这是必需的工作流程,还是还有另一种方法?

javadoc lombok
1个回答
0
投票

简短的答案是:不,您最多可以编写脚本,例如,在构建系统中使用首先安装delomboks然后使用Javadocs的插件。

对未来有希望吗? Lombok的onMethod位是一个不幸的hack,解决了javac中的错误(oracle开发团队不认识的错误,因此它们不太可能得到修复,也没有TCK规则来证明它们; TCK相当照常打开注释)。 Lombok团队还尝试通过添加“任何批注”功能来解决此问题,这是对Java lang规范的非常微小的升级,但由于不清楚的原因而被拒绝(特别是原因:没有时间了(这是在新版本6之前节奏),即使后来提出并构建了多注释功能,也证明了这是不正确的原因。如果我不得不猜测,原因是“ Oracle内没有人认为这很重要”。]

注:我确实设法与一些openjdk工程师进行了交谈,所以也许任何注释都可能使这一天成为现实,这样一来您就可以避免采用两步工作流的可能性大大增加,但是我们仍然在谈论JDK15。最早,并且鉴于事情最后一次令人沮丧,我们(Project Lombok的主要贡献者)试图在Java本身中包含一个小功能,所以不确定再次尝试是花费贡献者时间的好方法。

© www.soinside.com 2019 - 2024. All rights reserved.