次のリンクを使用して、Web アプリケーションで findbugs を実行する ant スクリプトを作成しています: 第 6 章 FindBugs™ Ant タスクの使用
auxClasspathパラメーターを jars フォルダーに設定しています。
しかし、コマンド プロンプトからant findbugsを使用してタスクを実行すると、非常に長い時間 (~45 分) がかかり、出力 xml にはソース コードと同様にauxClasspath内の jar の分析が含まれます。
ソースコードだけを解析したい。
これは私のbuild.xmlのコードです:
<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
<property name="findbugs.home" value="C:/Software/FindBugs" />
<target name="findbugs" >
<echo message="Finding Bugs From ${basedir}/src/java"/>
<findbugs home="${findbugs.home}"
output="xml:withMessages"
outputFile="${basedir}\findbugs.xml"
stylesheet="fancy-hist.xsl"
timeout="6000000"
jvmargs="-Xmx1200m">
<auxClasspath path="${basedir}/Jars/*.jar" />
<sourcePath path="${basedir}/src/java"/>
<class location="${basedir}/build/myApp-1.0.jar" />
</findbugs>
</target>
ant インストールの lib に findbugs-ant.jar を追加しました。findbugs ディレクトリが存在します。
その他の情報:
IDE: Netbeans 7.3
OS: Microsoft Windows XP
Ant バージョン: 1.8.4
Find Bugs バージョン: 2.0.2
アップデート
この行を省略した場合:
<auxClasspath path="${basedir}/Jars/*.jar" />
目的の出力 (つまり、ソース コードのみの分析) が得られます。しかし、それは警告を発します:
[findbugs] The following classes needed for analysis were missing:
[findbugs] javax.servlet.http.HttpServlet
[findbugs] javax.servlet.http.HttpServletRequestWrapper
[list continues]....
バグを見つけて分析すべきではないjarを分析している理由(ドキュメントによると)