FindBugs 2.0中不推荐使用的注释

Chr*_*s B 8 java annotations findbugs deprecated

查看FindBugs 2.0中的注释列表,我发现其中很多都已被弃用.

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

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

我看到JSR-305有@ParametersAreNonnullByDefault,我可以用它来替换一些实例@DefaultAnnotationForParameters,但这不会涵盖所有情况.

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

Ada*_*fer 9

(注意:请参阅jar305.jar中的注释中的相关文章,而不是针对FindBugs的annotation.jar中的类似注释?)

从作者的PDF(这里),在第51页:

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

•并且可以由解释JSR-305注释的静态分析器解释

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

举个例子,这里是来源@ParametersAreNonnullByDefault.

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