如何@ParametersAreNonnullByDefault?
2022-09-01 17:29:50
我已经尝试了几次让包注释@ParametersAreNonnullByDefault在maven项目中为我工作,但没有成功。有人可以分享一个链接到一个最小/示例maven项目的链接,其中设置了这个项目(或发布pom.xml和package-info.java和演示类)?
我说的是让findbugs处理器为我强制执行它。
我已经尝试了几次让包注释@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等库时),这是要放入的依赖项(如@Saket所述):app/build.gradle
dependencies {
implementation 'com.google.code.findbugs:jsr305:3.0.2'
// ...
}