Chr*_*s B 8 java annotations findbugs deprecated
查看FindBugs 2.0中的注释列表,我发现其中很多都已被弃用.
其中一些(@CheckForNull
,@NonNull
等)已被弃用,因为它们具有等效的JSR-305注释.很高兴最终解决使用哪组注释的困境.
但是一些特定于FindBugs的注释,例如@DefaultAnnotation
和@DefaultAnnotationForFields
,也已被弃用,我找不到任何解释,说明在他们的位置使用什么.我正在尝试迁移大量使用这些注释的代码库,而且我有点卡住了.
我看到JSR-305有@ParametersAreNonnullByDefault
,我可以用它来替换一些实例@DefaultAnnotationForParameters
,但这不会涵盖所有情况.
我在这里错过了一些大事吗?我应该使用某种设置文件或其他东西,而不是注释吗?
(注意:请参阅jar305.jar中的注释中的相关文章,而不是针对FindBugs的annotation.jar中的类似注释?)
从作者的PDF(这里),在第51页:
JSR-305只会定义
ParametersAreNonnullByDefault
,但可以在JSR-305之外定义更多•并且可以由解释JSR-305注释的静态分析器解释
...所以基本上你可以自己定义它,并给它与你要替换它的名称相同,它应该最终工作正常,因为FindBugs只按名称运行注释(可能更喜欢JSR-305注释,也许由于特别贬值).
举个例子,这里是来源@ParametersAreNonnullByDefault
.
有关更多信息,您可能需要通过电子邮件发送JSR-305和FindBugs的作者:Bill Pugh(这是他的网站).此外,该问题已添加到Sourceforge错误跟踪器(此处).