使用javax.annotation.Nonnull:要从中获取哪个Java jar依赖项?

Geo*_*met 5 java spring kotlin

在我们的开放源代码约束求解器(OptaPlanner)中,我也想使用@NonNull它使Kotlin更友好并且更清楚地从Java使用。

spring-core已经使用了@NonNull例如在此代码中。它们有效地声明了每个方法参数是否可空,如此处所述

我应该使用哪个Maven / Gradle依赖项将类包含javax.annotation.Nonnull在类路径中?春天的家伙们使用哪一个?例如,我在其依赖项列表中没有发现findbugs JSR-305 jar 。

(并且我可以将其作为可选依赖项来避免膨胀用户的类路径吗?)

Pio*_*kin 7

我想说https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305应该是您选择的工件,因为它可能是最常用和维护得当的。

  • 我不同意 findbugs 得到妥善维护 (4认同)
  • 看起来 findbugs 已经死了,被 Spotbugs(由社区)取代,它决定不再包含这些注释:https://github.com/spotbugs/spotbugs/pull/180 (2认同)
  • 我想要一份如何安装它的指南。下载什么,放在哪里,如何让它发挥作用。 (2认同)