SuppressFBWarningsを使用するためにインポートするものは何ですか?ヘルプを介して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を型に解決できません」というエラーがあります
FindBugsアノテーションを使用するには、クラスパス上のFindBugsディストリビューションのannotations.jarおよびjsr305.jarを含める必要があります。 @SuppressFBWarnings
アノテーションのみ( others ではなく)が必要なことが確実な場合は、annotations.jarだけで十分です。
FindBugsディストリビューション のlibフォルダーに2つの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を使用している場合、 移行ガイド は、代わりに次の依存関係を使用することを提案します。
代わりに、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>
Gradle:
dependencies {
compileOnly 'net.jcip:jcip-annotations:1.0'
compileOnly 'com.github.spotbugs:spotbugs-annotations:3.1.3'
}
jsr305
も使用した場合、その依存関係は上記と同じままです。