FindBugs 2.0中不推荐使用的注释

时间:2012-02-13 04:48:18

标签: java annotations deprecated findbugs

查看list of annotations in FindBugs 2.0,我发现很多内容已被弃用。

其中一些(@CheckForNull@NonNull等)已被弃用,因为它们具有等效的JSR-305注释。很高兴终于解决了使用哪种注释的困境。

但是一些特定于FindBugs的注释,例如@DefaultAnnotation@DefaultAnnotationForFields,也已被弃用,我找不到任何解释,说明在它们的位置使用什么。我正在尝试迁移大量使用这些注释的代码库,而且我有点卡住了。

我看到JSR-305有@ParametersAreNonnullByDefault,我可以用它来替换{​​{1}}的某些实例,但这并不能涵盖所有情况。

我在这里错过了一些大事吗?我应该使用某种设置文件或其他东西,而不是注释吗?

1 个答案:

答案 0 :(得分:9)

(注意:请参阅Should annotations in jar305.jar be preferred over similar annotations in annotation.jar for FindBugs?上的相关文章)

来自作者的PDF(here),第51页:

  

JSR-305只定义ParametersAreNonnullByDefault,   但更多可以在JSR-305之外定义

     

•可由静态分析仪解释   解释JSR-305注释

...所以基本上你可以自己定义它,并给它与你要替换它的名称相同,它应该最终正常工作,因为FindBugs只按名称运行注释(并且可能更喜欢JSR-305)注释,可能是由于特别弃用)。

例如,here@ParametersAreNonnullByDefault的来源。

有关更多信息,您可能需要通过电子邮件发送JSR-305和FindBugs的作者:Bill Pugh(here是他的网站)。此外,该问题已添加到Sourceforge错误跟踪器(here)。