OLD | NEW |
1 <html><head> | 1 <html><head> |
2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | 2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
3 <title>第6章 FindBugs™ Ant タスクの
使用方法</title><meta name="generator" content="DocBook
XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs͐
2; マニュアル"><link rel="up" href="index.html" ti
tle="FindBugs™ マニュアル"><link rel="prev"
href="gui.html" title="第5章 FindBugs GUI の使用&#
26041;法"><link rel="next" href="eclipse.html" title="第7章 Fi
ndBugs™ Eclipse プラグインの使&#
29992;方法"></head><body bgcolor="white" text="black" link="#0000FF"
vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summ
ary="Navigation header"><tr><th colspan="3" align="center">第6章 <sp
an class="application">FindBugs</span>™ <span class="application">Ant</spa
n> タスクの使用方法</th></tr><tr
><td width="20%" align="left"><a accesskey="p" href="gui.html">戻る<
/a> </td><th width="60%" align="center"> </th><td width="20%" align="r
ight"> <a accesskey="n" href="eclipse.html">次へ</a></td></tr><
/table><hr></div><div class="chapter" title="第6章 FindBugs™ A
nt タスクの使用方法"><div class=
"titlepage"><div><div><h2 class="title"><a name="anttask"></a>第6章
<span class="application">FindBugs</span>™ <span class="application">Ant</
span> タスクの使用方法</h2></div
></div></div><div class="toc"><p><b>目次</b></p><dl><dt><span class=
"sect1"><a href="anttask.html#d0e1173">1. <span class="application">Ant</span> &
#12479;スクのインストール<
/a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1209">2. build.x
ml の書き方</a></span></dt><dt><span class="sect1"><a hr
ef="anttask.html#d0e1278">3. タスクの実行</a
></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1303">4. パ&
#12521;メーター</a></span></dt></dl></div><p>こ
2398;章では、 <span class="application">FindBugs</span>
を <a class="ulink" href="http://ant.apache.org/" target="_top"><span clas
s="application">Ant</span></a> のビルドスク&
#12522;プトに組み入れる方&
#27861;について説明します&
#12290; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class
="application">Ant</span></a> は、ビルドや&#
37197;備を行うことができ&#
12427; Java でよく使用される
484;ールです。<span class="application">FindBugs</
span> <span class="application">Ant</span> タスクをË
51;用すると、 ビルドス
463;リプトを作成して機
800;的に <span class="application">FindBugs</span> によ&
#12427; Java コードの分析を実
4892;することができます
2290;</p><p>この <span class="application">Ant</span> タӟ
3;クは、 Mike Fagan 氏の多大な&#
36002;献によるものです。</
p><div class="sect1" title="1. Ant タスクのイ}
31;ストール"><div class="titlepage"><div><div><h2 class=
"title" style="clear: both"><a name="d0e1173"></a>1. <span class="application">A
nt</span> タスクのインストӦ
0;ル</h2></div></div></div><p><span class="application">Ant</span> タ
;スクのインストールは
;、 <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</c
ode></em>/lib/findbugs-ant.jar</code> を <span class="application">Ant</sp
an> インストールディレ
463;トリーの<code class="filename">lib</code> サ&#
12502;ディレクトリーにコ&#
12500;ーするだけです。</p><div c
lass="note" title="注記" style="margin-left: 0.5in; margin-right: 0.
5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign
="top" width="25"><img alt="[注記]" src="note.png"></td><th align="l
eft">注記</th></tr><tr><td align="left" valign="top"><p>使
992;する <span class="application">Ant</span> タスӞ
3;と <span class="application">FindBugs</span> 本体は
2289;同梱されていた同じ
2496;ージョンのものを使
9992;することを強く推奨
2375;ます。別のバージョ
2531;の <span class="application">FindBugs</span> に含ま
れていた <span class="application">Ant</span> タ&#
12473;ク Jar ファイルでの動Ë
16;は保証しません。</p></td></tr
></table></div><p> | 3 <title>第6章 FindBugs™ Ant タスクの
使用方法</title><meta name="generator" content="DocBook
XSL Stylesheets V1.76.1"><link rel="home" href="index.html" title="FindBugs͐
2; マニュアル"><link rel="up" href="index.html" ti
tle="FindBugs™ マニュアル"><link rel="prev"
href="gui.html" title="第5章 FindBugs GUI の使用&#
26041;法"><link rel="next" href="eclipse.html" title="第7章 Fi
ndBugs™ Eclipse プラグインの使&#
29992;方法"></head><body bgcolor="white" text="black" link="#0000FF"
vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summ
ary="Navigation header"><tr><th colspan="3" align="center">第6章 <sp
an class="application">FindBugs</span>™ <span class="application">Ant</spa
n> タスクの使用方法</th></tr><tr
><td width="20%" align="left"><a accesskey="p" href="gui.html">戻る<
/a> </td><th width="60%" align="center"> </th><td width="20%" align="r
ight"> <a accesskey="n" href="eclipse.html">次へ</a></td></tr><
/table><hr></div><div class="chapter" title="第6章 FindBugs™ A
nt タスクの使用方法"><div class=
"titlepage"><div><div><h2 class="title"><a name="anttask"></a>第6章
<span class="application">FindBugs</span>™ <span class="application">Ant</
span> タスクの使用方法</h2></div
></div></div><div class="toc"><p><b>目次</b></p><dl><dt><span class=
"sect1"><a href="anttask.html#d0e1209">1. <span class="application">Ant</span> &
#12479;スクのインストール<
/a></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1245">2. build.x
ml の書き方</a></span></dt><dt><span class="sect1"><a hr
ef="anttask.html#d0e1314">3. タスクの実行</a
></span></dt><dt><span class="sect1"><a href="anttask.html#d0e1339">4. パ&
#12521;メーター</a></span></dt></dl></div><p>こ
2398;章では、 <span class="application">FindBugs</span>
を <a class="ulink" href="http://ant.apache.org/" target="_top"><span clas
s="application">Ant</span></a> のビルドスク&
#12522;プトに組み入れる方&
#27861;について説明します&
#12290; <a class="ulink" href="http://ant.apache.org/" target="_top"><span class
="application">Ant</span></a> は、ビルドや&#
37197;備を行うことができ&#
12427; Java でよく使用される
484;ールです。<span class="application">FindBugs</
span> <span class="application">Ant</span> タスクをË
51;用すると、 ビルドス
463;リプトを作成して機
800;的に <span class="application">FindBugs</span> によ&
#12427; Java コードの分析を実
4892;することができます
2290;</p><p>この <span class="application">Ant</span> タӟ
3;クは、 Mike Fagan 氏の多大な&#
36002;献によるものです。</
p><div class="sect1" title="1. Ant タスクのイ}
31;ストール"><div class="titlepage"><div><div><h2 class=
"title" style="clear: both"><a name="d0e1209"></a>1. <span class="application">A
nt</span> タスクのインストӦ
0;ル</h2></div></div></div><p><span class="application">Ant</span> タ
;スクのインストールは
;、 <code class="filename"><em class="replaceable"><code>$FINDBUGS_HOME</c
ode></em>/lib/findbugs-ant.jar</code> を <span class="application">Ant</sp
an> インストールディレ
463;トリーの<code class="filename">lib</code> サ&#
12502;ディレクトリーにコ&#
12500;ーするだけです。</p><div c
lass="note" title="注記" style="margin-left: 0.5in; margin-right: 0.
5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign
="top" width="25"><img alt="[注記]" src="note.png"></td><th align="l
eft">注記</th></tr><tr><td align="left" valign="top"><p>使
992;する <span class="application">Ant</span> タスӞ
3;と <span class="application">FindBugs</span> 本体は
2289;同梱されていた同じ
2496;ージョンのものを使
9992;することを強く推奨
2375;ます。別のバージョ
2531;の <span class="application">FindBugs</span> に含ま
れていた <span class="application">Ant</span> タ&#
12473;ク Jar ファイルでの動Ë
16;は保証しません。</p></td></tr
></table></div><p> |
4 </p></div><div class="sect1" title="2. build.xml の書き方
;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a nam
e="d0e1209"></a>2. build.xml の書き方</h2></div></div></
div><p><span class="application">FindBugs</span> を <code class="filename"
>build.xml</code> (<span class="application">Ant</span> ビルド
スクリプト) に組み入Ӛ
8;るためにはまず、タӟ
3;ク定義を記述する必ව
1;があります。タスクऩ
0;義は次のように記述ӕ
5;ます。:</p><pre class="screen"> | 4 </p></div><div class="sect1" title="2. build.xml の書き方
;"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a nam
e="d0e1245"></a>2. build.xml の書き方</h2></div></div></
div><p><span class="application">FindBugs</span> を <code class="filename"
>build.xml</code> (<span class="application">Ant</span> ビルド
スクリプト) に組み入Ӛ
8;るためにはまず、タӟ
3;ク定義を記述する必ව
1;があります。タスクऩ
0;義は次のように記述ӕ
5;ます。:</p><pre class="screen"> |
5 <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTas
k"/> | 5 <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTas
k"/> |
6 </pre><p>タスク定義は、 <code class="l
iteral">findbugs</code> 要素を <code class="filename">build.xm
l</code> 上に記述したとき、
;そのタスクの実行に使
;用されるクラスを指定
;します。</p><p>タスク定義
の記述をすれば、<code class="lit
eral">findbugs</code> タスクを使って&#
12479;ーゲットを定義でき&#
12414;す。次に示すのは、 A
pache <a class="ulink" href="http://jakarta.apache.org/bcel/" target="_top">BCEL
</a> ライブラリーを分析
2377;る場合を想定した <code clas
s="filename">build.xml</code> の記述例です&#
12290;</p><pre class="screen"> | 6 </pre><p>タスク定義は、 <code class="l
iteral">findbugs</code> 要素を <code class="filename">build.xm
l</code> 上に記述したとき、
;そのタスクの実行に使
;用されるクラスを指定
;します。</p><p>タスク定義
の記述をすれば、<code class="lit
eral">findbugs</code> タスクを使って&#
12479;ーゲットを定義でき&#
12414;す。次に示すのは、 A
pache <a class="ulink" href="http://jakarta.apache.org/bcel/" target="_top">BCEL
</a> ライブラリーを分析
2377;る場合を想定した <code clas
s="filename">build.xml</code> の記述例です&#
12290;</p><pre class="screen"> |
7 <property name="findbugs.home" value="/export/home/daveho/work/findbugs" /&
gt; | 7 <property name="findbugs.home" value="/export/home/daveho/work/findbugs" /&
gt; |
8 | 8 |
9 <target name="findbugs" depends="jar"> | 9 <target name="findbugs" depends="jar"> |
10 <findbugs home="${findbugs.home}" | 10 <findbugs home="${findbugs.home}" |
11 output="xml" | 11 output="xml" |
12 outputFile="bcel-fb.xml" > | 12 outputFile="bcel-fb.xml" > |
13 <auxClasspath path="${basedir}/lib/Regex.jar" /> | 13 <auxClasspath path="${basedir}/lib/Regex.jar" /> |
14 <sourcePath path="${basedir}/src/java" /> | 14 <sourcePath path="${basedir}/src/java" /> |
15 <class location="${basedir}/bin/bcel.jar" /> | 15 <class location="${basedir}/bin/bcel.jar" /> |
16 </findbugs> | 16 </findbugs> |
17 </target> | 17 </target> |
18 </pre><p><code class="literal">findbugs</code> 要素には&
#12289; <code class="literal">home</code> 属性が必༴
0;です。 <span class="application">FindBugs</span> の
2452;ンストールディレク
2488;リーすなわち <em class="replaceable"><c
ode>$FINDBUGS_HOME</code></em> の値を設定し&
#12414;す。<a class="xref" href="installing.html" title="第2&#
31456; FindBugs™ のインストール"
>2章<i><span class="application">FindBugs</span>™ のイ&#
12531;ストール</i></a> を参照し&
#12390;ください。</p><p>このタ&#
12540;ゲットは <code class="filename">bcel.jar</code> &#
12395;対して <span class="application">FindBugs</span> を
;実行します。この Jar フ&#
12449;イルは、 BCEL ビルドス
463;リプトによって作成
373;れるものです。(上記
2398;ターゲットが「jar」タ
ーゲットに依存してい
る (depends) と設定すること{
95;より、 <span class="application">FindBugs</span> が&#
23455;行される前に当該ラ&#
12452;ブラリーが完全にコ&#
12531;パイルされているこ&#
12392;を保証しています。)
<span class="application">FindBugs</span> の出力はӌ
9; XML 形式で <code class="filename">bcel-fb.xml</code> Ӣ
1;ァイルに保存されまӕ
7;。補助 Jar ファイル <code class="fil
ename">Regex.jar</code> を aux classpath に記述し&
#12390;います。なぜなら、&
#24403;該 Jar ファイルが BCEL メӝ
2;ン・ライブラリーかӚ
5;参照されるからですӍ
0;source path を指定することで&#
12289;保存されるバグデー&#
12479;に BCEL ソースコードへ
398;正確な参照が記述さ
428;ます。</p></div><div class="sect1" title="3. タ|
73;クの実行"><div class="titlepage"><div><div><h2 class=
"title" style="clear: both"><a name="d0e1278"></a>3. タスク
2398;実行</h2></div></div></div><p>コマンド&
#12521;インから <span class="application">Ant</span> 
2434;起動する例を次に示
2375;ます。前述の <code class="literal">find
bugs</code> ターゲットを使用
375;ています。</p><pre class="screen"> | 18 </pre><p><code class="literal">findbugs</code> 要素には&
#12289; <code class="literal">home</code> 属性が必༴
0;です。 <span class="application">FindBugs</span> の
2452;ンストールディレク
2488;リーすなわち <em class="replaceable"><c
ode>$FINDBUGS_HOME</code></em> の値を設定し&
#12414;す。<a class="xref" href="installing.html" title="第2&#
31456; FindBugs™ のインストール"
>2章<i><span class="application">FindBugs</span>™ のイ&#
12531;ストール</i></a> を参照し&
#12390;ください。</p><p>このタ&#
12540;ゲットは <code class="filename">bcel.jar</code> &#
12395;対して <span class="application">FindBugs</span> を
;実行します。この Jar フ&#
12449;イルは、 BCEL ビルドス
463;リプトによって作成
373;れるものです。(上記
2398;ターゲットが「jar」タ
ーゲットに依存してい
る (depends) と設定すること{
95;より、 <span class="application">FindBugs</span> が&#
23455;行される前に当該ラ&#
12452;ブラリーが完全にコ&#
12531;パイルされているこ&#
12392;を保証しています。)
<span class="application">FindBugs</span> の出力はӌ
9; XML 形式で <code class="filename">bcel-fb.xml</code> Ӣ
1;ァイルに保存されまӕ
7;。補助 Jar ファイル <code class="fil
ename">Regex.jar</code> を aux classpath に記述し&
#12390;います。なぜなら、&
#24403;該 Jar ファイルが BCEL メӝ
2;ン・ライブラリーかӚ
5;参照されるからですӍ
0;source path を指定することで&#
12289;保存されるバグデー&#
12479;に BCEL ソースコードへ
398;正確な参照が記述さ
428;ます。</p></div><div class="sect1" title="3. タ|
73;クの実行"><div class="titlepage"><div><div><h2 class=
"title" style="clear: both"><a name="d0e1314"></a>3. タスク
2398;実行</h2></div></div></div><p>コマンド&
#12521;インから <span class="application">Ant</span> 
2434;起動する例を次に示
2375;ます。前述の <code class="literal">find
bugs</code> ターゲットを使用
375;ています。</p><pre class="screen"> |
19 <code class="prompt">[daveho@noir]$</code> <span class="command"><strong>ant f
indbugs</strong></span> | 19 <code class="prompt">[daveho@noir]$</code> <span class="command"><strong>ant f
indbugs</strong></span> |
20 Buildfile: build.xml | 20 Buildfile: build.xml |
21 | 21 |
22 init: | 22 init: |
23 | 23 |
24 compile: | 24 compile: |
25 | 25 |
26 examples: | 26 examples: |
27 | 27 |
28 jar: | 28 jar: |
29 | 29 |
30 findbugs: | 30 findbugs: |
31 [findbugs] Running FindBugs... | 31 [findbugs] Running FindBugs... |
32 [findbugs] Bugs were found | 32 [findbugs] Bugs were found |
33 [findbugs] Output saved to bcel-fb.xml | 33 [findbugs] Output saved to bcel-fb.xml |
34 | 34 |
35 BUILD SUCCESSFUL | 35 BUILD SUCCESSFUL |
36 Total time: 35 seconds | 36 Total time: 35 seconds |
37 </pre><p>この事例においては
;、XML ファイルでバグ検
2034;結果を保存している
2398;で、 <span class="application">FindBugs</span> GUI を
351;って結果を参照する
371;とができます。 <a class="xref" hre
f="running.html" title="第4章 FindBugs™ の実ඡ
2;">4章<i><span class="application">FindBugs</span>™ の実
;行</i></a> を参照してくだӕ
3;い。</p></div><div class="sect1" title="4. パラメ
;ーター"><div class="titlepage"><div><div><h2 class="title" st
yle="clear: both"><a name="d0e1303"></a>4. パラメー|
79;ー</h2></div></div></div><p>このセクシ
2519;ンでは、 <span class="application">FindBugs</span>
タスクを使用する際に
、指定することができ
るパラメーターについ
て説明します。</p><div class="variable
list"><dl><dt><span class="term"><code class="literal">class</code></span></dt><
dd><p>分析の対象となるク&#
12521;ス群を指定するため&#
12398;ネストされる要素で&#
12377;。<code class="literal">class</code> 要素には
; <code class="literal">location</code> 属性の指定
が必須です。分析対象
となるアーカイブファ
イル (jar, zip, 他)、ディレク
2488;リーまたはクラスフ
2449;イルの名前を記述し
2414;す。1 つの <code class="literal">findbugs</code> &#
35201;素に対して、複数の <
code class="literal">class</code> 子要素を指ऩ
0;することができますӍ
0;</p></dd><dt><span class="term"><code class="literal">auxClasspath</code></spa
n></dt><dd><p>任意指定のネスト&#
12373;れる要素です。分析&#
23550;象のライブラリーま&#
12383;はアプリケーション&#
12395;よって使用されてい&#
12427;が分析の対象にはし&#
12383;くないクラスを含ん&#
12391;いるクラスパス (Jar フ
449;イルまたはディレク
488;リー) を指定します。
<span class="application">Ant</span> の Java タスク{
95;ある <code class="literal">classpath</code> 要素 
392;同じ方法で指定する
371;とができます。</p></dd><dt><span c
lass="term"><code class="literal">sourcePath</code></span></dt><dd><p>任&#
24847;指定のネストされる&#
35201;素です。分析対象 Java 
467;ードのコンパイル時
395;使用したソースファ
452;ルを含んでいるソー
473;ディレクトリーへの
497;スを指定します。ソ
540;スパスを指定するこ
392;により、生成される XML
のバグ出力結果に完全
;なソース情報をもたせ
;ることができ、後にな
;って GUI で参照すること&#
12364;できます。</p></dd><dt><span class="term"><c
ode class="literal">home</code></span></dt><dd><p>必須属ঝ
5;です。<span class="application">FindBugs</span> が
452;ンストールされてい
427;ディレクトリー名を#
373;定します。</p></dd><dt><span class="term"><cod
e class="literal">quietErrors</code></span></dt><dd><p>任意指&
#23450;のブール値属性です&
#12290;true を設定すると、深
051;な分析エラー発生や
463;ラスがみつからない
392;いった情報が <span class="application">F
indBugs</span> 出力に記録されま&
#12379;ん。デフォルトは、
false です。</p></dd><dt><span class="term"><code class="liter
al">reportLevel</code></span></dt><dd><p>任意指定の
;属性です。報告される
;バグの優先度のしきい
;値を指定します。「low
301;に設定すると、すべ
390;のバグが報告されま
377;。「medium」 (デフォルト) &#
12395;設定すると、優先度 (
中)および優先度 (高)の
496;グが報告されます。
300;high」に設定すると、優
先度 (高) のバグのみが
577;告されます。</p></dd><dt><span class="te
rm"><code class="literal">output</code></span></dt><dd><p>任意১
1;定の属性です。出力উ
8;式を指定します。「xml
2301; (デフォルト) に設定す
;ると、出力は XML 形式に&#
12394;ります。「xml:withMessages」 に&
#35373;定すると、出力は人&
#38291;が読めるメッセージ
が追加された XML 形式に
2394;ります。(XSL スタイルӟ
1;ートを使ってレポーӠ
8;を作成することを計ஹ
1;している場合はこのউ
8;式を使用してくださӓ
6;。) 「html」に設定すると
、出力は HTML 形式(デフォ&
#12523;トのスタイルシート&
#12399; default.xsl) になります。 「te
xt」に設定すると、出ࡂ
7;は特別なテキスト形ঁ
5;になります。「emacs」に&
#35373;定すると、出力は <a class
="ulink" href="http://www.gnu.org/software/emacs/" target="_top">Emacs</a> |
56;ラーメッセージ形式{
95;なります。「xdocs」に設
定すると、出力は Apache Maven &#
12391;使用できる xdoc XML になり
ます。</p></dd><dt><span class="term"><code class="literal">st
ylesheet</code></span></dt><dd><p>任意指定の़
6;性です。output 属性 に html を
指定した場合に、 HTML 出&#
21147;作成に使用されるス&#
12479;イルシートを指定し&#
12414;す。FindBugs 配布物に含ま&
#12428;ているスタイルシー&
#12488;は、 default.xsl、 fancy.xsl 、 fancy-hist.xsl &#
12289; plain.xsl および summary.xsl です。&#
12487;フォルト値は default.xsl で{
77;。</p></dd><dt><span class="term"><code class="literal">sort</code></sp
an></dt><dd><p>任意指定の属性で&
#12377;。<code class="literal">output</code> 属性に{
00;text」を指定した場合に&
#12289;バグの報告をクラス&
#38918;にソートするかどう&
#12363;を <code class="literal">sort</code> 属性で১
1;定します。デフォルӠ
8;は、 true です。</p></dd><dt><span class="term">
<code class="literal">outputFile</code></span></dt><dd><p>任意১
1;定の属性です。指定ӕ
5;た場合、<span class="application">FindBugs</span> 
398;出力はその名前のフ
449;イルへと保存されま
377;。省略時、出力は <span class
="application">Ant</span> によって直接ඤ
0;示されます。</p></dd><dt><span class="term
"><code class="literal">debug</code></span></dt><dd><p>任意指&
#23450;のブール値属性です&
#12290;true に設定すると、 <span class
="application">FindBugs</span> は 診断情報を
出力します。どのクラ
スを分析しているか、
どのパグパターンディ
テクタが実行されてい
るか、という情報が表
示されます。デフォル
トは、 false です。</p></dd><dt><span class=
"term"><code class="literal">effort</code></span></dt><dd><p>分析
2398;活動レベルを設定し
2414;す。<code class="literal">min</code> 、<code class="liter
al">default</code> または <code class="literal">max</code> 
2398;いずれかの値を設定
2375;てください。分析レ
2505;ルの設定に関する詳
2048;情報は、 <a class="xref" href="running.html#command
LineOptions" title="3. コマンドライン&
#12458;プション">「コマンド
;ラインオプション」</a> &#
12434;参照してください。</
p></dd><dt><span class="term"><code class="literal">conserveSpace</code></span><
/dt><dd><p>effort="min" と同義です。</p></dd
><dt><span class="term"><code class="literal">workHard</code></span></dt><dd><p>
effort="max" と同義です。</p></dd><dt><span
class="term"><code class="literal">visitors</code></span></dt><dd><p>任
4847;指定の属性です。ど
2398;バグディテクタを実
4892;するかをコンマ区切
2426;のリストで指定しま
2377;。バグディテクタは
2497;ッケージ指定なしの
2463;ラス名で指定します
2290;省略時、デフォルト
2391;無効化されているも
2398;を除くすべてのディ
2486;クタが実行されます
2290;</p></dd><dt><span class="term"><code class="literal">omitVisitors</code></
span></dt><dd><p>任意指定の属性で
;す。<code class="literal">visitors</code> 属性と&
#20284;ていますが、こちら&
#12399; <span class="emphasis"><em>実行されな{
56;</em></span> ディテクタを指定
します。</p></dd><dt><span class="term"><code class="lit
eral">excludeFilter</code></span></dt><dd><p>任意指定
2398;属性です。フィルタ
2540;ファイル名を指定し
2414;す。報告から除外さ
2428;るバグを指定します
2290;<a class="xref" href="filter.html" title="第8章 フィ
;ルターファイル">8章<i>フ&
#12451;ルターファイル</i></a> を
参照してください。</p></dd
><dt><span class="term"><code class="literal">includeFilter</code></span></dt><d
d><p>任意指定の属性です
2290;フィルターファイル
1517;を指定します。報告
2373;れるバグを指定しま
2377;。<a class="xref" href="filter.html" title="第8章 フ
;ィルターファイル">8章<i>&
#12501;ィルターファイル</i></a>
を参照してください。
</p></dd><dt><span class="term"><code class="literal">projectFile</code></span><
/dt><dd><p>任意指定の属性で{
77;。プロジェクトファ|
52;ル名を指定します。}
03;ロジェクトファイル{
99;、 <span class="application">FindBugs</span> GUI で作ৎ
4;します。分析されるӞ
3;ラス、および、補助Ӟ
3;ラスパス、ソースデӝ
1;レクトリーが記入さӚ
8;てます。プロジェクӠ
8;ファイルを指定した࣒
0;合は、 <code class="literal">class</code> 要素&#
12539; <code class="literal">auxClasspath</code> 属性およ
;び <code class="literal">sourcePath</code> 属性をෑ
3;定する必要はありまӕ
9;ん。プロジェクトの߯
6;成方法は、 <a class="xref" href="running.html" t
itle="第4章 FindBugs™ の実行">4章<i><s
pan class="application">FindBugs</span>™ の実行</i></a>
を参照してください。
</p></dd><dt><span class="term"><code class="literal">jvmargs</code></span></dt>
<dd><p>任意指定の属性です&
#12290;<span class="application">FindBugs</span> を実行し
;ている Java 仮想マシンに&
#23550;して受け渡される引&
#25968;を指定します。巨大&
#12394;プログラムを分析す&
#12427;場合に、 JVM が使用す
427;メモリ容量を増やす
351;定をするためにこの
341;数を利用する必要が
354;るかもしれません。</p>
</dd><dt><span class="term"><code class="literal">systemProperty</code></span></
dt><dd><p>任意指定のネストӕ
3;れる要素です。指定ӕ
5;た場合、Java システムプ&
#12525;パティーを定義しま&
#12377;。<code class="literal">name</code> 属性には
;システムプロパティー
;の名前を指定します。
;そして、 <code class="literal">value</code> 属
4615;にはシステムプロパ
2486;ィの値を指定します
2290;</p></dd><dt><span class="term"><code class="literal">timeout</code></span>
</dt><dd><p>任意指定の属性で
377;。<span class="application">FindBugs</span> を実行&#
12375;ている Java プロセス の
3455;行許容時間をミリ秒
1336;位で指定します。時
8291;を超過するとハング
2450;ップしていると判断
2375;てプロセスが終了さ
2428;ます。デフォルトは
2289; 600,000 ミリ秒 (10 分) です。
4040;大なプログラムの場
1512;は、 <span class="application">FindBugs</span> が分
析を完了するまでに 10 
998; 以上掛かる可能性が
2354;ることに注意してく
2384;さい。</p></dd><dt><span class="term"><code class="litera
l">failOnError</code></span></dt><dd><p>任意指定の
ブール値属性です。<span cl
ass="application">FindBugs</span> の実行中にӝ
6;ラーがあった場合にӌ
9;ビルドプロセス自体ӛ
4;打ち切って異常終了ӕ
3;せるかどうかを指定ӕ
5;ます。デフォルトはӌ
9;「false」です。</p></dd><dt><span class="term"><
code class="literal">errorProperty</code></span></dt><dd><p>任意
351;定の属性です。<span class="applica
tion">FindBugs</span> の実行中にエラ&#
12540;が発生した場合に、&#
12300;true」が設定されるプӤ
5;パティーの名前を指ऩ
0;します。</p></dd><dt><span class="term"><code class="l
iteral">warningsProperty</code></span></dt><dd><p>任意指ऩ
0;の属性です。<span class="application">Find
Bugs</span> が分析したプログ
521;ムにバグ報告が 1 件で&
#12418;ある場合に、「true」{
64;設定されるプロパテ|
51;ーの名前を指定しま{
77;。</p></dd></dl></div><p> | 37 </pre><p>この事例においては
;、XML ファイルでバグ検
2034;結果を保存している
2398;で、 <span class="application">FindBugs</span> GUI を
351;って結果を参照する
371;とができます。 <a class="xref" hre
f="running.html" title="第4章 FindBugs™ の実ඡ
2;">4章<i><span class="application">FindBugs</span>™ の実
;行</i></a> を参照してくだӕ
3;い。</p></div><div class="sect1" title="4. パラメ
;ーター"><div class="titlepage"><div><div><h2 class="title" st
yle="clear: both"><a name="d0e1339"></a>4. パラメー|
79;ー</h2></div></div></div><p>このセクシ
2519;ンでは、 <span class="application">FindBugs</span>
タスクを使用する際に
、指定することができ
るパラメーターについ
て説明します。 |
| 38 |
| 39 </p><div class="variablelist"><dl><dt><span class="term"><code class="literal">c
lass</code></span></dt><dd><p>任意指定のネ&#
12473;トされる要素です。&#
20998;析の対象となるクラ&#
12473;群を指定します。 |
| 40 <code class="literal">class</code> 要素には <code
class="literal">location</code> 属性の指定が
;必須です。 |
| 41 分析対象となるアー&
#12459;イブファイル (jar, zip, 他)
289;ディレクトリーまた
399;クラスファイルの名
069;を記述します。 |
| 42 1 つの <code class="literal">findbugs</code> 要素
に対して、複数の <code class="li
teral">class</code> 子要素を指定す
427;ことができます。 |
| 43 </p><p><code class="literal">class</code> 要素の指
;定を置き換えるまたは
;追加する形で、 <span class="applicati
on">FindBugs</span> タスクに1個以上
2398; <code class="literal">fileset</code> 要素を記Ű
48;することで |
| 44 分析するファイル群&
#12434;指定することができ&
#12414;す。 |
| 45 例えば、 fileset において
特定のディレクトリに
ある全ての jar ファイル
2434;分析対象に指定する
2371;とができます。 |
| 46 </p></dd><dt><span class="term"><code class="literal">auxClasspath</code>
</span></dt><dd><p>任意指定のネス|
88;される要素です。分ĉ
12;対象のライブラリー|
14;たはアプリケーショ}
31;によって使用されて{
56;るが分析の対象には{
75;たくないクラスを含|
35;でいるクラスパス (Jar フ
;ァイルまたはディレク
;トリー) を指定しますz
90; <span class="application">Ant</span> の Java タスク
にある <code class="literal">classpath</code> 要素
と同じ方法で指定する
;ことができます。</p></dd><dt><s
pan class="term"><code class="literal">sourcePath</code></span></dt><dd><p>Ê
19;意指定のネストされ|
27;要素です。分析対象 Java
コードのコンパイル時
;に使用したソースファ
;イルを含んでいるソー
;スディレクトリーへの
;パスを指定します。ソ
;ースパスを指定するこ
;とにより、生成される
; XML のバグ出力結果に完&#
20840;なソース情報をもた&#
12379;ることができ、後に&#
12394;って GUI で参照するこ{
92;ができます。</p></dd><dt><span class="ter
m"><code class="literal">home</code></span></dt><dd><p>必須属&
#24615;です。<span class="application">FindBugs</span> が
;インストールされてい
;るディレクトリー名を
;設定します。</p></dd><dt><span class="term"
><code class="literal">quietErrors</code></span></dt><dd><p>任意
351;定のブール値属性で
377;。true を設定すると、深
;刻な分析エラー発生や
;クラスがみつからない
;といった情報が <span class="applicati
on">FindBugs</span> 出力に記録され
414;せん。デフォルトは
289; false です。</p></dd><dt><span class="term"><code class="
literal">reportLevel</code></span></dt><dd><p> |
| 47 任意指定の属性です&
#12290;報告される問題の信&
#38972;度・優先度のしきい&
#20516;を指定します。 |
| 48 「low」に設定するとӌ
9;バグ報告が信頼度にӚ
4;り除外されることはӓ
4;りません。 |
| 49 「medium」 (デフォルト) に
;設定すると、信頼度(߮
2;)の問題が除外されま{
77;。 |
| 50 「high」に設定するとz
89;信頼度(高) のバグのみ&#
12364;報告されます。 |
| 51 </p></dd><dt><span class="term"><code class="literal">output</code></span
></dt><dd><p>任意指定の属性で
2377;。出力形式を指定し
2414;す。「xml」 (デフォルӠ
8;) に設定すると、出力
399; XML 形式になります。「
;xml:withMessages」 に設定するとӌ
9;出力は人間が読めるӣ
3;ッセージ が追加され{
83; XML 形式になります。(XSL 
2473;タイルシートを使っ
2390;レポートを作成する
2371;とを計画している場
1512;はこの形式を使用し
2390;ください。) 「html」にš
73;定すると、出力は HTML 形
;式(デフォルトのスタӝ
2;ルシートは default.xsl) になり
ます。 「text」に設定す
2427;と、出力は特別なテ
2461;スト形式になります
2290;「emacs」に設定するとӌ
9;出力は <a class="ulink" href="http://www.gnu.org/software/em
acs/" target="_top">Emacs</a> エラーメッセ&#
12540;ジ形式になります。&#
12300;xdocs」に設定すると、Ñ
86;力は Apache Maven で使用できる
; xdoc XML になります。</p></dd><dt><span cl
ass="term"><code class="literal">stylesheet</code></span></dt><dd><p>任
4847;指定の属性です。output 
646;性 に html を指定した場×
12;に、 HTML 出力作成に使用
;されるスタイルシート
;を指定します。FindBugs 配०
7;物に含まれているスӟ
9;イルシートは、 default.xsl、 f
ancy.xsl 、 fancy-hist.xsl 、 plain.xsl および sum
mary.xsl です。デフォルト値
;は default.xsl です。</p></dd><dt><span class="term"><c
ode class="literal">sort</code></span></dt><dd><p>任意指ऩ
0;の属性です。<code class="literal">output</
code> 属性に「text」を指定ӕ
5;た場合に、バグの報࡭
8;をクラス順にソートӕ
7;るかどうかを <code class="literal">sort</c
ode> 属性で指定します。
2487;フォルトは、 true ですz
90;</p></dd><dt><span class="term"><code class="literal">outputFile</code></span
></dt><dd><p>任意指定の属性で
2377;。指定した場合、<span class
="application">FindBugs</span> の出力はその&
#21517;前のファイルへと保&
#23384;されます。省略時、&
#20986;力は <span class="application">Ant</span> によ
2387;て直接表示されます
2290;</p></dd><dt><span class="term"><code class="literal">debug</code></span></
dt><dd><p>任意指定のブールࠃ
6;属性です。true に設定す&
#12427;と、 <span class="application">FindBugs</span> は š
86;断情報を出力しますz
90;どのクラスを分析し{
90;いるか、どのパグパ|
79;ーンディテクタが実Ŝ
92;されているか、とい{
58;情報が表示されますz
90;デフォルトは、 false でӕ
7;。</p></dd><dt><span class="term"><code class="literal">effort</code></s
pan></dt><dd><p>分析の活動レベル
を設定します。<code class="literal">mi
n</code> 、<code class="literal">default</code> または <
code class="literal">max</code> のいずれかの
値を設定してください
。分析レベルの設定に
関する詳細情報は、 <a clas
s="xref" href="running.html#commandLineOptions" title="3. コマӥ
1;ドラインオプション">
300;コマンドラインオプ
471;ョン」</a> を参照してく
;ださい。</p></dd><dt><span class="term"><code class="li
teral">conserveSpace</code></span></dt><dd><p>effort="min" と同ņ
81;です。</p></dd><dt><span class="term"><code class="literal"
>workHard</code></span></dt><dd><p>effort="max" と同義で
す。</p></dd><dt><span class="term"><code class="literal">visitors</
code></span></dt><dd><p>任意指定の属性
です。どのバグディテ
クタを実行するかをコ
ンマ区切りのリストで
指定します。バグディ
テクタはパッケージ指
定なしのクラス名で指
定します。省略時、デ
フォルトで無効化され
ているものを除くすべ
てのディテクタが実行
されます。</p></dd><dt><span class="term"><code cl
ass="literal">omitVisitors</code></span></dt><dd><p> |
| 52 任意指定の属性です&
#12290; |
| 53 バグディテクタをコ&
#12531;マ区切りのリストで&
#25351;定します。 |
| 54 <code class="literal">visitors</code> 属性と似
2390;いますが、こちらは <s
pan class="emphasis"><em>実行されない</em></
span> ディテクタを指定し&#
12414;す。 |
| 55 </p></dd><dt><span class="term"><code class="literal">chooseVisitors</cod
e></span></dt><dd><p> |
| 56 任意指定の属性です&
#12290; |
| 57 頭に「+」または「-」
;を付け加えたバグディ
;テクタをコンマ区切り
;のリストで指定します
;。 |
| 58 「+」を付け加えたバ
グディテクタは有効に
、「-」を付け加えたバ
;グディテクタは無効に
;なります。 |
| 59 </p></dd><dt><span class="term"><code class="literal">excludeFilter</code
></span></dt><dd><p>任意指定の属性
391;す。フィルターファ
452;ル名を指定します。
577;告から除外されるバ
464;を指定します。<a class="xref" href
="filter.html" title="第8章 フィルター
ファイル">8章<i>フィルタ&#
12540;ファイル</i></a> を参照し&
#12390;ください。</p></dd><dt><span class="term"><
code class="literal">includeFilter</code></span></dt><dd><p>任意
351;定の属性です。フィ
523;ターファイル名を指
450;します。報告される
496;グを指定します。<a class="xr
ef" href="filter.html" title="第8章 フィルタ
ーファイル">8章<i>フィル&#
12479;ーファイル</i></a> を参照&
#12375;てください。</p></dd><dt><span class=
"term"><code class="literal">projectFile</code></span></dt><dd><p>任঴
7;指定の属性です。プӤ
5;ジェクトファイル名ӛ
4;指定します。プロジӝ
5;クトファイルは、 <span class="
application">FindBugs</span> GUI で作成します
;。分析されるクラス、
;および、補助クラスパ
;ス、ソースディレクト
;リーが記入されてます
;。プロジェクトファイ
;ルを指定した場合は、
; <code class="literal">class</code> 要素・ <code class="liter
al">auxClasspath</code> 属性および <code class="li
teral">sourcePath</code> 属性を設定する
;必要はありません。プ
;ロジェクトの作成方法
;は、 <a class="xref" href="running.html" title="第4章 F
indBugs™ の実行">4章<i><span class="application">F
indBugs</span>™ の実行</i></a> を参照&
#12375;てください。</p></dd><dt><span class=
"term"><code class="literal">jvmargs</code></span></dt><dd><p>任意&#
25351;定の属性です。<span class="appli
cation">FindBugs</span> を実行している
Java 仮想マシンに対して&#
21463;け渡される引数を指&#
23450;します。巨大なプロ&#
12464;ラムを分析する場合&#
12395;、 JVM が使用するメモ}
22;容量を増やす指定を{
77;るためにこの引数をÒ
33;用する必要があるか|
18;しれません。</p></dd><dt><span class="ter
m"><code class="literal">systemProperty</code></span></dt><dd><p>任意
;指定のネストされる要
;素です。指定した場合
;、Java システムプロパテ&#
12451;ーを定義します。<code clas
s="literal">name</code> 属性にはシステ
ムプロパティーの名前
を指定します。そして
、 <code class="literal">value</code> 属性には
471;ステムプロパティの
516;を指定します。</p></dd><dt><span c
lass="term"><code class="literal">timeout</code></span></dt><dd><p>任ø
47;指定の属性です。<span class="
application">FindBugs</span> を実行してい
2427; Java プロセス の実行許
481;時間をミリ秒単位で
351;定します。時間を超$
942;するとハングアップ
375;ていると判断してプ
525;セスが終了されます
290;デフォルトは、 600,000 ミ
2522;秒 (10 分) です。巨大な
503;ログラムの場合は、 <sp
an class="application">FindBugs</span> が分析を完&
#20102;するまでに 10 分 以上
499;かる可能性があるこ
392;に注意してください
290;</p></dd><dt><span class="term"><code class="literal">failOnError</code></sp
an></dt><dd><p>任意指定のブール&
#20516;属性です。<span class="application">FindBug
s</span> の実行中にエラーが
;あった場合に、ビルド
;プロセス自体を打ち切
;って異常終了させるか
;どうかを指定します。
;デフォルトは、「false」&#
12391;す。</p></dd><dt><span class="term"><code class="literal">erro
rProperty</code></span></dt><dd><p>任意指定のì
46;性です。<span class="application">FindBugs</span> 
2398;実行中にエラーが発
9983;した場合に、「true」が
;設定されるプロパティ
;ーの名前を指定します
;。</p></dd><dt><span class="term"><code class="literal">warningsProperty<
/code></span></dt><dd><p>任意指定の属性
;です。<span class="application">FindBugs</span> がÑ
98;析したプログラムに|
96;グ報告が 1 件でもある&#
22580;合に、「true」が設定ӕ
3;れるプロパティーのࡧ
7;前を指定します。</p></dd><dt><
span class="term"><code class="literal">userPreferencesFile</code></span></dt><d
d><p> |
| 60 任意指定の属性で&#
12377;。 |
| 61 ユーザー設定ファ&#
12452;ルのパスを設定しま&#
12377;。ユーザー設定ファ&#
12452;ルの内容で、他のオ&#
12503;ションの一部を上書&#
12365;することができます&#
12290; |
| 62 <code class="literal">userPreferencesFile</code> を一&
#30058;目の引数に指定した&
#22580;合は、後続のオプシ&
#12519;ンの方がユーザー設&
#23450;ファイルの内容に優&
#20808;します。 |
| 63 <code class="literal">userPreferencesFile</code> を最&
#24460;の引数に指定した場&
#21512;は、ユーザー設定フ&
#12449;イルの内容の方が前&
#12395;指定したオプション&
#12395;優先します。 |
| 64 このオプションを&#
35373;けた背景・理由は、 E
clipse プロジェクトの FindBugs の
;設定をコマンドライン
;実行で再利用するため
;です。 |
| 65 </p></dd><dt><span class="term"><code class="literal">nested</code><
/span></dt><dd><p> |
| 66 任意指定の属性で&#
12377;。分析対象のファイ&#
12523;・ディレクトリーリ&#
12473;トにあるファイル内&#
12395;ネストされた jar およ|
03; zip ファイルに対する分
析を有効化・無効化し
ます。 |
| 67 デフォルトでは、&#
12493;ストされた jar/zip の分析&
#12399;有効です。 |
| 68 </p></dd></dl></div><p> |
38 | 69 |
39 | 70 |
40 </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigati
on footer"><tr><td width="40%" align="left"><a accesskey="p" href="gui.html">
5147;る</a> </td><td width="20%" align="center"> </td><td width=
"40%" align="right"> <a accesskey="n" href="eclipse.html">次へ<
/a></td></tr><tr><td width="40%" align="left" valign="top">第5章 <sp
an class="application">FindBugs</span> GUI の使用方Ė
61; </td><td width="20%" align="center"><a accesskey="h" href="index.html">
ホーム</a></td><td width="40%" align="right" valign="top">&nbs
p;第7章 <span class="application">FindBugs</span>™ Eclipse 
2503;ラグインの使用方法</t
d></tr></table></div></body></html> | 71 </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigati
on footer"><tr><td width="40%" align="left"><a accesskey="p" href="gui.html">
5147;る</a> </td><td width="20%" align="center"> </td><td width=
"40%" align="right"> <a accesskey="n" href="eclipse.html">次へ<
/a></td></tr><tr><td width="40%" align="left" valign="top">第5章 <sp
an class="application">FindBugs</span> GUI の使用方Ė
61; </td><td width="20%" align="center"><a accesskey="h" href="index.html">
ホーム</a></td><td width="40%" align="right" valign="top">&nbs
p;第7章 <span class="application">FindBugs</span>™ Eclipse 
2503;ラグインの使用方法</t
d></tr></table></div></body></html> |
OLD | NEW |