如何让@ParametersAreNonnullByDefault工作?

我已经多次尝试获取包注释@ParametersAreNonnullByDefault在maven项目中为我工作但没有成功。 有人可以共享一个链接到一个最小/样本maven项目,在这个项目设置(或发布pom.xml和package-info.java和演示类)?

我正在谈论让findbugs处理器为我强制执行它。

如何申请@ParametersAreNonnullByDefault

在包中创建一个文件package-info.java ,以强制执行所需的行为。

在该文件中,执行以下操作:

 /** * You should do it like this! */ @ParametersAreNonnullByDefault package com.stackoverflow; import javax.annotation.ParametersAreNonnullByDefault; 

如何申请@ParametersAreNonnullByDefault

不要在Java源文件中执行以下操作:

 /** * But you shouldn't do it this way! */ @ParametersAreNonnullByDefault package com.stackoverflow; import javax.annotation.ParametersAreNonnullByDefault; public class Answer { ... 

声明这样的注释是不明确的。

笔记

可以直接在Answer类上应用注释。

 package com.stackoverflow; import javax.annotation.ParametersAreNonnullByDefault; /** * You can do it like this also. */ @ParametersAreNonnullByDefault public class Answer { ... 

完全相同的事情也适用于@ParametersAreNullableByDefault

对于Android项目(例如使用Retrofit等库时),这是放入app/build.gradle的依赖app/build.gradle (如@Saket所述):

 dependencies { implementation 'com.google.code.findbugs:jsr305:3.0.2' // ... }