使用SuppressFBWarnings导入什么? 我通过help / install新软件安装了findbugs插件 当我输入import edu。时,我无法使用ctrl空格来获取选项。
实施例
try {
String t = null;
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value="NP_ALWAYS_NULL",
justification="I know what I'm doing")
int sl = t.length();
System.out.printf( "Length is %d", sl );
} catch (Throwable e) {
...
}
错误“edu无法解析为某种类型”
答案 0 :(得分:17)
要使用FindBugs注释,您需要在类路径上的FindBugs发行版中包含 annotations.jar 和 jsr305.jar 。如果您确定只需要@SuppressFBWarnings
注释(而不是others),那么 annotations.jar 就足够了。
您可以在FindBugs distribution的 lib 文件夹中找到两个JAR。
如果您使用的是Maven:
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
如果您使用的是Gradle:
dependencies {
compileOnly 'com.google.code.findbugs:annotations:3.0.1'
compileOnly 'com.google.code.findbugs:jsr305:3.0.1'
}
compileOnly
是Maven称之为provided
范围的Gradle风格。
SpotBugs的更新(2018年):
FindBugs已被SpotBugs取代。因此,如果您已经在使用SpotBugs,migration guide建议您使用以下依赖项:
请依赖于 spotbugs-annotations 和 net.jcip:jcip-annotations:1.0 。
的Maven:
<dependency>
<groupId>net.jcip</groupId>
<artifactId>jcip-annotations</artifactId>
<version>1.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>3.1.3</version>
<optional>true</optional>
</dependency>
摇篮:
dependencies {
compileOnly 'net.jcip:jcip-annotations:1.0'
compileOnly 'com.github.spotbugs:spotbugs-annotations:3.1.3'
}
如果您还使用了jsr305
,则该依赖关系仍与上述相同。