我已经多次尝试获取包注释@ParametersAreNonnullByDefault在maven项目中为我工作但没有成功。 有人可以共享一个指向最小/样本maven项目的链接,在这个项目中设置(或发布pom.xml和package-info.java和demo类)?
我说的是让findbugs处理器为我强制执行。
答案 0 :(得分:26)
@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
。
答案 1 :(得分:1)
对于 Android 项目(例如,在使用诸如Retrofit等库之类的项目时),这是放入app/build.gradle
(如@Saket所述)的依赖项:
dependencies {
implementation 'com.google.code.findbugs:jsr305:3.0.2'
// ...
}