如何让@ParametersAreNonnullByDefault工作?

时间:2011-04-01 16:26:59

标签: java maven annotations nullpointerexception findbugs

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

我说的是让findbugs处理器为我强制执行。

2 个答案:

答案 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'
    // ...
}