これは明らかかもしれませんが、あなたの問題はEclipse(おそらくFindBugsプラグイン)であり、FindBugs自体ではないと思います。
FindBugsをコマンドラインから実行して、Eclipseの問題を解決し、FindBugsが正しく動作するようにすることを検討することがあります。スタンドアロンモードでFindBugsを実行する方法を知っていると、IDEが正しく設定されていないときのフォールバックが発生します。
私は、FindBugsAnnotationsTest.java
という名前のファイルにソースコードを保存したList
ための輸入を追加し、ArrayList
、およびCheckForNull
、コンパイル、およびFindBugsの1.3.9を実行しました。 FindBugsのは、null値について、いくつかの警告を生成します。
import java.util.ArrayList;
import java.util.List;
import edu.umd.cs.findbugs.annotations.CheckForNull;
コマンド:${FINDBUGS_HOME}
がディレクトリである
javac -d . -classpath ${FINDBUGS_HOME}/lib/findbugs.jar FindBugsAnnotationsTest.java
${FINDBUGS_HOME}/bin/findbugs FindBugsAnnotationsTest.class
M D NP: Possible null pointer dereference in FindBugsAnnotationsTest.shouldGetFindbugsWarning() due to return value of called method Dereferenced at FindBugsAnnotationsTest.java:[line 18]
M C UwF: Unwritten field: FindBugsAnnotationsTest.canBeNull At FindBugsAnnotationsTest.java:[line 12]
M C NP: Read of unwritten field canBeNull in FindBugsAnnotationsTest.shouldGetFindbugsWarning() At FindBugsAnnotationsTest.java:[line 16]
Warnings generated: 3
はこれらは私がFindBugsAnnotationsTest.java
の先頭に追加輸入されていますFindbugs 1.3.9がインストールされています。 javac
がパス上にあると想定されます。
注:私の代わりにannotations.jar
とjsr305.jar
のfindbugs.jar
を使用しますが、私は、このコマンドを使用して、同じ結果を得る:
javac -d . -classpath ${FINDBUGS_HOME}/lib/annotations.jar:${FINDBUGS_HOME}/lib/jsr305.jar FindBugsAnnotationsTest.java
を