3

我正在将代码库从 18.0 迁移到 Guava 26.0-jre。静态代码检查由 Findbugs (3.0.0) 处理。事实证明,Guava从 JSR305 迁移到了 Checker Framework

因此,现有代码如下:

com.google.common.collect.Iterables.getFirst(someCollection, null);

最终出现错误:

[INFO] Null passed for non-null parameter of com.google.common.collect.Iterables.getFirst(Iterable, Object)

我的问题是:如何强制 Findbugs 理解 Checker Framework 的注释?有什么办法可以顺利做到这一点吗?我用谷歌搜索了一些 Findbugs 的插件,但一无所获。

4

1 回答 1

3

FindBugs 无法做到这一点。FindBugs 也是一个废弃的项目。您可能要考虑它的继任者SpotBugs。SpotBugs 似乎支持 Checker Framework 注释

于 2018-09-29T13:35:55.660 回答