我正在尝试为一个利用 lombok 的项目生成 JavaDoc,但在我对生成的 setter 和 getter 进行注释的情况下遇到问题。
代码:
public class Car {
@Getter(onMethod = @__(@Sensitive))
@Setter(onMethod = @__(@Sensitive))
@Sensitive
@ToString.Exclude
@Transient
protected transient String instanceKeyId;
Run Code Online (Sandbox Code Playgroud)
而且,我正在跑步:
mvn javadoc:attach-javadocs
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到此错误:
[ERROR] Exit code: 1 - Car.java:26: error: cannot find symbol
[ERROR] @Getter(onMethod = @__(@Sensitive))
Run Code Online (Sandbox Code Playgroud)
我使用的是 Java 11 - 我的项目可以构建并运行。我有最新版本的 javadoc 插件,我还缺少其他东西吗?
听起来我需要听取这里的建议1并设置 delombok,然后对其进行 javadoc,这似乎有点无关紧要。这是这里所需的工作流程,还是有其他方法可以做到这一点?
简短的回答是:不,最多您可以编写此脚本,例如使用构建系统中的插件,首先是 delomboks,然后是 javadocs。
未来还有希望吗?lombok 的部分onMethod是一个不幸的 hack,它解决了 javac 中的错误(oracle 开发团队不承认这些错误,因此它们不太可能被修复,并且没有 TCK 规则来证明它们;TCK 的注释相当少)一般来说)。lombok 团队还尝试通过添加“任何注释”功能来解决这个问题,作为对 java lang 规范的一个非常小的升级,但由于不清楚的原因而被拒绝(具体来说,原因是:没有时间了(这是在新的 6 之前)几个月的节奏),尽管多注释功能是后来提出并构建的,证明这是一个不正确的原因。如果我不得不猜测,原因是“oracle 中没有人发现这很重要”)。
注意:我确实与一些 openjdk 工程师进行了交谈,因此也许任何注释有一天都可能成功,届时您可以避免两步工作流程的可能性会显着上升,但我们最早仍在谈论 JDK15,考虑到上次我们(Lombok 项目的核心贡献者)尝试在 java 本身中包含一个小功能时事情的进展令人沮丧,不确定再次尝试是否是花费贡献者时间的好方法。
| 归档时间: |
|
| 查看次数: |
2790 次 |
| 最近记录: |