OLD | NEW |
1 <?xml version="1.0" encoding="UTF-8"?> | 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://findbugs.goog
lecode.com/svn/trunk/findbugs/etc/docbook/docbookx.dtd" | 2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
3 [ | 3 "../../etc/docbook/docbookx.dtd" [ |
4 <!ENTITY FindBugs "<application>FindBugs</application>"> | 4 <!ENTITY FindBugs "<application>FindBugs</application>"> |
5 <!ENTITY Ant "<application>Ant</application>"> | 5 <!ENTITY Ant "<application>Ant</application>"> |
6 <!ENTITY Saxon "<application>Saxon</application>"> | 6 <!ENTITY Saxon "<application>Saxon</application>"> |
7 <!ENTITY FBHome "<replaceable>$FINDBUGS_HOME</replaceable>"> | 7 <!ENTITY FBHome "<replaceable>$FINDBUGS_HOME</replaceable>"> |
8 <!ENTITY FBHomeWin "<replaceable>%FINDBUGS_HOME%</replaceable>"> | 8 <!ENTITY FBHomeWin "<replaceable>%FINDBUGS_HOME%</replaceable>"> |
9 <!ENTITY nbsp " "> | 9 <!ENTITY nbsp " "> |
10 ]> | 10 ]> |
11 <book lang="ja" id="findbugs-manual"> | 11 <book lang="ja" id="findbugs-manual"> |
12 | 12 |
13 <bookinfo> | 13 <bookinfo> |
14 <title>&FindBugs;™ マニュアル</title> | 14 <title>&FindBugs;™ マニュアル</title> |
15 | 15 |
16 <authorgroup> | 16 <authorgroup lang="en"> |
17 <author> | 17 <author> |
18 <firstname>David</firstname> | 18 <firstname>David</firstname> |
19 <othername>H.</othername> | 19 <othername>H.</othername> |
20 <surname>Hovemeyer</surname> | 20 <surname>Hovemeyer</surname> |
21 </author> | 21 </author> |
22 <author> | 22 <author> |
23 <firstname>William</firstname> | 23 <firstname>William</firstname> |
24 <othername>W.</othername> | 24 <othername>W.</othername> |
25 <surname>Pugh</surname> | 25 <surname>Pugh</surname> |
26 </author> | 26 </author> |
27 </authorgroup> | 27 </authorgroup> |
28 | 28 |
29 <copyright> | 29 <copyright lang="en"> |
30 <year>2003</year> | 30 <year>2003 - 2012</year> |
31 <year>2004</year> | |
32 <year>2005</year> | |
33 <year>2006</year> | |
34 <year>2008</year> | |
35 <holder>University of Maryland</holder> | 31 <holder>University of Maryland</holder> |
36 </copyright> | 32 </copyright> |
37 | 33 |
38 <legalnotice> | 34 <legalnotice> |
39 <para>このマニュアルは、クリエイティブ・コモンズ表示-非営利-継承に基づく使用許諾がなされています。使用許諾書をご覧になる場合は、 <ulink url=
"http://creativecommons.org/licenses/by-nc-sa/1.0/deed.ja">http://creativecommon
s.org/licenses/by-nc-sa/1.0/</ulink> にアクセスするか、クリエイティブ・コモンズ(559 Nathan Abbott Way
, Stanford, California 94305, USA)に書簡を送付してください。</para> | 35 <para>このマニュアルは、クリエイティブ・コモンズ表示-非営利-継承に基づく使用許諾がなされています。使用許諾書をご覧になる場合は、 <ulink url=
"http://creativecommons.org/licenses/by-nc-sa/1.0/deed.ja">http://creativecommon
s.org/licenses/by-nc-sa/1.0/</ulink> にアクセスするか、クリエイティブ・コモンズ(559 Nathan Abbott Way
, Stanford, California 94305, USA)に書簡を送付してください。</para> |
40 <para>名称「FindBugs」および FindBugs のロゴは、メリーランド大学の登録商標です。</para> | 36 <para>名称「FindBugs」および FindBugs のロゴは、メリーランド大学の登録商標です。</para> |
41 </legalnotice> | 37 </legalnotice> |
42 | 38 |
43 <edition>2.0.3</edition> | 39 <edition>3.0.0</edition> |
44 | 40 |
45 <pubdate>17:16:15 EST, 22 November, 2013</pubdate> | 41 <pubdate>20:25:27 CDT, 06 July, 2014 (翻訳 2014年7月)</pubdate> |
46 | 42 |
47 </bookinfo> | 43 </bookinfo> |
48 | 44 |
49 <!-- | 45 <!-- |
50 ************************************************************************** | 46 ************************************************************************** |
51 Introduction | 47 Introduction |
52 ************************************************************************** | 48 ************************************************************************** |
53 --> | 49 --> |
54 | 50 |
55 <chapter id="introduction"> | 51 <chapter id="introduction"> |
56 <title>はじめに</title> | 52 <title>はじめに</title> |
57 | 53 |
58 <para>&FindBugs;™ は、Java プログラムの中のバグを見つけるプログラムです。このプログラムは、「バグ パターン」の実例を探します
。「バグ パターン」とは、エラーとなる可能性の高いコードの事例です。</para> | 54 <para>&FindBugs;™ は、Java プログラムの中のバグを見つけるプログラムです。このプログラムは、「バグ パターン」の実例を探します
。「バグ パターン」とは、エラーとなる可能性の高いコードの事例です。</para> |
59 | 55 |
60 <para>この文書は、&FindBugs; バージョン 2.0.3 について説明してます。私たちは、 &FindBugs; に対するフィードバックを心待ちにし
ています。どうぞ、 <ulink url="http://findbugs.sourceforge.net">&FindBugs; Web ページ</ulink
> にアクセスしてください。&FindBugs; についての最新情報、連絡先および &FindBugs; メーリングリストなどのサポート情報を入手することができ
ます。</para> | 56 <para>この文書は、&FindBugs; バージョン 3.0.0 について説明してます。私たちは、 &FindBugs; に対するフィードバックを心待ちにし
ています。どうぞ、 <ulink url="http://findbugs.sourceforge.net">&FindBugs; Web ページ</ulink
> にアクセスしてください。&FindBugs; についての最新情報、連絡先および &FindBugs; メーリングリストなどのサポート情報を入手することができ
ます。</para> |
61 | 57 |
62 <sect1> | 58 <sect1> |
63 <title>必要条件</title> | 59 <title>必要条件</title> |
64 <para>&FindBugs; を使用するには、 <ulink url="http://java.sun.com/j2se">Java 2 Standard
Edition</ulink>, バージョン 1.5 以降のバージョンと互換性のあるランタイム環境が必要です。&FindBugs; は、プラットフォーム非依存で
あり、 GNU/Linux 、 Windows 、 MacOS X プラットフォーム上で動作することが知られています。</para> | 60 <para>&FindBugs; を使用するには、 <ulink url="http://java.sun.com/j2se">Java 2 Standard
Edition</ulink>, バージョン 1.5 以降のバージョンと互換性のあるランタイム環境が必要です。&FindBugs; は、プラットフォーム非依存で
あり、 GNU/Linux 、 Windows 、 MacOS X プラットフォーム上で動作することが知られています。</para> |
65 | 61 |
66 <para>&FindBugs; を使用するためには、少なくとも 512 MB のメモリが必要です。巨大なプロジェクトを解析するためには、それより多くのメモリが
必要とされることがあります。</para> | 62 <para>&FindBugs; を使用するためには、少なくとも 512 MB のメモリが必要です。巨大なプロジェクトを解析するためには、それより多くのメモリが
必要とされることがあります。</para> |
67 </sect1> | 63 </sect1> |
68 | 64 |
69 </chapter> | 65 </chapter> |
70 | 66 |
71 <!-- | 67 <!-- |
72 ************************************************************************** | 68 ************************************************************************** |
73 Installing FindBugs | 69 Installing FindBugs |
74 ************************************************************************** | 70 ************************************************************************** |
75 --> | 71 --> |
76 | 72 |
77 <chapter id="installing"> | 73 <chapter id="installing"> |
78 <title>&FindBugs;™ のインストール</title> | 74 <title>&FindBugs;™ のインストール</title> |
79 | 75 |
80 <para>この章では、 &FindBugs; のインストール方法を説明します。</para> | 76 <para>この章では、 &FindBugs; のインストール方法を説明します。</para> |
81 | 77 |
82 <sect1> | 78 <sect1> |
83 <title>配布物の展開</title> | 79 <title>配布物の展開</title> |
84 | 80 |
85 <para>&FindBugs; をインストールする最も簡単な方法は、バイナリ配布物をダウンロードすることです。 バイナリ配布物は、 <ulink url="h
ttp://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download">gzipp
ed tar 形式</ulink> および <ulink url="http://prdownloads.sourceforge.net/findbugs/fi
ndbugs-2.0.3.zip?download">zip 形式</ulink> がそれぞれ入手可能です。バイナリ配布物をダウンロードしてきたら、それを任意の
ディレクトリーに展開します。</para> | 81 <para>&FindBugs; をインストールする最も簡単な方法は、バイナリ配布物をダウンロードすることです。 バイナリ配布物は、 <ulink url="h
ttp://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0.tar.gz?download">gzipp
ed tar 形式</ulink> および <ulink url="http://prdownloads.sourceforge.net/findbugs/fi
ndbugs-3.0.0.zip?download">zip 形式</ulink> がそれぞれ入手可能です。バイナリ配布物をダウンロードしてきたら、それを任意の
ディレクトリーに展開します。</para> |
86 | 82 |
87 <para>gzipped tar 形式配布物の展開方法例:<screen> | 83 <para>gzipped tar 形式配布物の展開方法例:<screen> |
88 <prompt>$ </prompt><command>gunzip -c findbugs-2.0.3.tar.gz | tar xvf -</command
> | 84 <prompt>$ </prompt><command>gunzip -c findbugs-3.0.0.tar.gz | tar xvf -</command
> |
89 </screen> | 85 </screen> |
90 </para> | 86 </para> |
91 | 87 |
92 <para>zip 形式配布物の展開方法例:<screen> | 88 <para>zip 形式配布物の展開方法例:<screen> |
93 <prompt>C:\Software></prompt><command>unzip findbugs-2.0.3.zip</command> | 89 <prompt>C:\Software></prompt><command>unzip findbugs-3.0.0.zip</command> |
94 </screen> | 90 </screen> |
95 </para> | 91 </para> |
96 | 92 |
97 <para>バイナリ配布物の展開すると、通常は <filename class="directory">findbugs-2.0.3</filename> ディ
レクトリーが作成されます。例えば、ディレクトリー <filename class="directory">C:\Software</filename> でバイナ
リ配布物を展開すると、ディレクトリー <filename class="directory">C:\Software\findbugs-2.0.3</filen
ame> に &FindBugs; は展開されます。このディレクトリーが &FindBugs; のホームディレクトリーになります。このマニュアルでは、このホーム
ディレクトリーを &FBHome; (Windowsでは &FBHomeWin;) を用いて参照します。</para> | 93 <para>バイナリ配布物の展開すると、通常は <filename class="directory">findbugs-3.0.0</filename> ディ
レクトリーが作成されます。例えば、ディレクトリー <filename class="directory">C:\Software</filename> でバイナ
リ配布物を展開すると、ディレクトリー <filename class="directory">C:\Software\findbugs-3.0.0</filen
ame> に &FindBugs; は展開されます。このディレクトリーが &FindBugs; のホームディレクトリーになります。このマニュアルでは、このホーム
ディレクトリーを &FBHome; (Windowsでは &FBHomeWin;) を用いて参照します。</para> |
98 </sect1> | 94 </sect1> |
99 | 95 |
100 </chapter> | 96 </chapter> |
101 | 97 |
102 <!-- | 98 <!-- |
103 ************************************************************************** | 99 ************************************************************************** |
104 Compiling FindBugs from Source | 100 Compiling FindBugs from Source |
105 ************************************************************************** | 101 ************************************************************************** |
106 --> | 102 --> |
107 | 103 |
108 <chapter id="building"> | 104 <chapter id="building"> |
109 <title>&FindBugs;™ のソールからのビルド</title> | 105 <title>&FindBugs;™ のソールからのビルド</title> |
110 | 106 |
111 <para>この章では、 &FindBugs; をソースコードからビルドする方法を説明します。&FindBugs; を修正することに興味がないのであれば、 <l
ink linkend="running">次の章</link> に進んでください。</para> | 107 <para>この章では、 &FindBugs; をソースコードからビルドする方法を説明します。&FindBugs; を修正することに興味がないのであれば、 <l
ink linkend="running">次の章</link> に進んでください。</para> |
112 | 108 |
113 <sect1> | 109 <sect1> |
114 <title>前提条件</title> | 110 <title>前提条件</title> |
115 | 111 |
116 <para>ソースから &FindBugs; をコンパイルするためには、以下のものが必要です。<itemizedlist> | 112 <para>ソースから &FindBugs; をコンパイルするためには、以下のものが必要です。<itemizedlist> |
117 <listitem> | 113 <listitem> |
118 <para><ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3
-source.zip?download">&FindBugs; のソース配布物</ulink> | 114 <para><ulink url="http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.0
-source.zip?download">&FindBugs; のソース配布物</ulink> |
119 </para> | 115 </para> |
120 </listitem> | 116 </listitem> |
121 <listitem> | 117 <listitem> |
122 <para> | 118 <para> |
123 <ulink url="http://java.sun.com/j2se/">JDK 1.5.0 ベータ またはそれ以降</ulink> | 119 <ulink url="http://java.sun.com/j2se/">JDK 1.5.0 またはそれ以降</ulink> |
124 </para> | 120 </para> |
125 </listitem> | 121 </listitem> |
126 <listitem> | 122 <listitem> |
127 <para> | 123 <para> |
128 <ulink url="http://ant.apache.org/">Apache &Ant;</ulink>, バージョン 1.6.3 またはそ
れ以降</para> | 124 <ulink url="http://ant.apache.org/">Apache &Ant;</ulink>, バージョン 1.6.3 またはそ
れ以降</para> |
129 </listitem> | 125 </listitem> |
130 </itemizedlist> | 126 </itemizedlist> |
131 </para> | 127 </para> |
132 | 128 |
133 <warning> | 129 <warning> |
(...skipping 14 matching lines...) Expand all Loading... |
148 </listitem> | 144 </listitem> |
149 --> | 145 --> |
150 </itemizedlist> | 146 </itemizedlist> |
151 </para> | 147 </para> |
152 | 148 |
153 </sect1> | 149 </sect1> |
154 | 150 |
155 <sect1> | 151 <sect1> |
156 <title>ソース配布物の展開</title> | 152 <title>ソース配布物の展開</title> |
157 <para>ソース配布物をダウンロードした後に、それを作業用ディレクトリーに展開する必要があります。通常は、次のようなコマンドで展開を行います:<screen> | 153 <para>ソース配布物をダウンロードした後に、それを作業用ディレクトリーに展開する必要があります。通常は、次のようなコマンドで展開を行います:<screen> |
158 <prompt>$ </prompt><command>unzip findbugs-2.0.3-source.zip</command> | 154 <prompt>$ </prompt><command>unzip findbugs-3.0.0-source.zip</command> |
159 </screen> | 155 </screen> |
160 | 156 |
161 </para> | 157 </para> |
162 </sect1> | 158 </sect1> |
163 | 159 |
164 <sect1> | 160 <sect1> |
165 <title><filename>local.properties</filename> の修正</title> | 161 <title><filename>local.properties</filename> の修正</title> |
166 <para>FindBugs のドキュメントをビルドするためには、 <filename>local.properties</filename> ファイルを修正す
る必要があります。このファイルは、 &FindBugs; をビルドする際に <ulink url="http://ant.apache.org/">&Ant;<
/ulink> <filename>build.xml</filename> ファイルが参照します。FindBugs のドキュメントをビルドしない場合は、このフ
ァイルは無視してもかまいません。</para> | 162 <para>FindBugs のドキュメントをビルドするためには、 <filename>local.properties</filename> ファイルを修正す
る必要があります。このファイルは、 &FindBugs; をビルドする際に <ulink url="http://ant.apache.org/">&Ant;<
/ulink> <filename>build.xml</filename> ファイルが参照します。FindBugs のドキュメントをビルドしない場合は、このフ
ァイルは無視してもかまいません。</para> |
167 | 163 |
168 <para><filename>local.properties</filename> での定義は、 <filename>build.properties</f
ilename> ファイルでの定義に優先します。<filename>build.properties</filename> は次のような内容です:<progra
mlisting> | 164 <para><filename>local.properties</filename> での定義は、 <filename>build.properties</f
ilename> ファイルでの定義に優先します。<filename>build.properties</filename> は次のような内容です:<progra
mlisting> |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 </listitem> | 625 </listitem> |
630 </varlistentry> | 626 </varlistentry> |
631 | 627 |
632 <varlistentry> | 628 <varlistentry> |
633 <term><command>-auxclasspath</command> <replaceable>クラスパス</replaceable></term> | 629 <term><command>-auxclasspath</command> <replaceable>クラスパス</replaceable></term> |
634 <listitem> | 630 <listitem> |
635 <para>分析時に使用する補助クラスパスを設定します。分析するプログラムで使用するjarファイルやクラスディレクトリーをすべて指定してください。補助ク
ラスパスに指定したクラスは分析の対象にはなりません。</para> | 631 <para>分析時に使用する補助クラスパスを設定します。分析するプログラムで使用するjarファイルやクラスディレクトリーをすべて指定してください。補助ク
ラスパスに指定したクラスは分析の対象にはなりません。</para> |
636 </listitem> | 632 </listitem> |
637 </varlistentry> | 633 </varlistentry> |
638 | 634 |
| 635 <varlistentry> |
| 636 <term><command>-auxclasspathFromInput</command> </term> |
| 637 <listitem> |
| 638 <para>分析時に使用する補助クラスパスを標準入力から読み込みます。標準入力の各行が分析時に使用する補助クラスパスに追加されます。</para> |
| 639 </listitem> |
| 640 </varlistentry> |
| 641 |
| 642 <varlistentry> |
| 643 <term><command>-auxclasspathFromFile</command> <replaceable>ファイルパス</replaceabl
e></term> |
| 644 <listitem> |
| 645 <para>分析時に使用する補助クラスパスをファイルから読み込みます。ファイルの各行が分析時に使用する補助クラスパスに追加されます。</para> |
| 646 </listitem> |
| 647 </varlistentry> |
| 648 |
| 649 <varlistentry> |
| 650 <term><command>-analyzeFromFile</command> <replaceable>ファイルパス</replaceable></t
erm> |
| 651 <listitem> |
| 652 <para>分析対象ファイルをファイルから読み込みます。ファイルの各行が分析対象クラスパスに追加されます。</para> |
| 653 </listitem> |
| 654 </varlistentry> |
| 655 |
| 656 <varlistentry> |
| 657 <term><command>-userPrefs</command> <replaceable>edu.umd.cs.findbugs.core.pref
s</replaceable></term> |
| 658 <listitem> |
| 659 <para>ユーザー設定ファイルのパスを設定します。ユーザー設定ファイルの内容で、他のオプションの一部を上書きすることができます。 |
| 660 <literal>userPrefs</literal> を一番目の引数に指定した場合は、後続のオプションの方がユーザー設定ファイルの内容に優先します。 |
| 661 <literal>userPrefs</literal> を最後の引数に指定した場合は、ユーザー設定ファイルの内容の方が前に指定したオプションに優先しま
す。 |
| 662 このオプションを設けた背景・理由は、 Eclipse プロジェクトの FindBugs の設定をコマンドライン実行で再利用するためです。</para> |
| 663 </listitem> |
| 664 </varlistentry> |
| 665 |
639 <!-- | 666 <!-- |
640 <varlistentry> | 667 <varlistentry> |
641 <term><command></command> <replaceable></replaceable></term> | 668 <term><command></command> <replaceable></replaceable></term> |
642 <listitem> | 669 <listitem> |
643 <para> | 670 <para> |
644 </para> | 671 </para> |
645 </listitem> | 672 </listitem> |
646 </varlistentry> | 673 </varlistentry> |
647 --> | 674 --> |
648 | 675 |
(...skipping 12 matching lines...) Expand all Loading... |
661 | 688 |
662 <sect1> | 689 <sect1> |
663 <title>プロジェクトの作成</title> | 690 <title>プロジェクトの作成</title> |
664 <para><command>findbugs</command> コマンドで &FindBugs; を起動してから、メニューで <menuchoice><g
uimenu>File</guimenu><guimenuitem>New Project</guimenuitem></menuchoice> を選択してくだ
さい。そうすると、次のようなダイアログが表示されます:<mediaobject> | 691 <para><command>findbugs</command> コマンドで &FindBugs; を起動してから、メニューで <menuchoice><g
uimenu>File</guimenu><guimenuitem>New Project</guimenuitem></menuchoice> を選択してくだ
さい。そうすると、次のようなダイアログが表示されます:<mediaobject> |
665 <imageobject> | 692 <imageobject> |
666 <imagedata fileref="project-dialog.png"/> | 693 <imagedata fileref="project-dialog.png"/> |
667 </imageobject> | 694 </imageobject> |
668 </mediaobject> | 695 </mediaobject> |
669 </para> | 696 </para> |
670 | 697 |
671 <para>「Class archives and directories to analyze」テキストフィールドの横にある 「Add」ボタンを押すと、バグを
分析する java クラスを含んでいる Java アーカイブファイル (zip, jar, ear, or war file) を選択して指定できます。複数の
アーカイブ/ディレクトリーを追加することが可能です。</para> | 698 <para>「Classpath to analyze」の横にある 「Add」ボタンを押すと、バグを分析する java クラスを含んでいる Java アーカイブ
ファイル (zip, jar, ear, or war file) を選択して指定できます。複数の アーカイブ/ディレクトリーを追加することが可能です。</pa
ra> |
672 | 699 |
673 <para>また、分析を行う Java アーカイブのソースコードを含んだソースディレクトリーを指定することもできます。そうすると、バグの可能性があるソースコード
の場所が、&FindBugs; 上でハイライトして表示されます。ソースディレクトリーは、Java パッケージ階層のルートディレクトリーを指定する必要があります。
例えば、ユーザのアプリケーションが <varname>org.foobar.myapp</varname> パッケージの中にある場合は、 <filename c
lass="directory">org</filename> ディレクトリーの親ディレクトリーをソースディレクトリーリストに指定する必要があります。</par
a> | 700 <para>また、分析を行う Java アーカイブのソースコードを含んだソースディレクトリーを指定することもできます。そうすると、バグの可能性があるソースコード
の場所が、&FindBugs; 上でハイライトして表示されます。ソースディレクトリーは、Java パッケージ階層のルートディレクトリーを指定する必要があります。
例えば、ユーザのアプリケーションが <varname>org.foobar.myapp</varname> パッケージの中にある場合は、 <filename c
lass="directory">org</filename> ディレクトリーの親ディレクトリーをソースディレクトリーリストに指定する必要があります。</par
a> |
674 | 701 |
675 <para>もうひとつ、任意指定の手順があります。それは、補助用の Jar ファイルおよびディレクトリーを 「Auxiliary classpath locat
ions」のエントリーに追加することです。分析するアーカイブ/ディレクトリーにも標準の実行時クラスパスにも含まれていないクラスを、分析するアーカイブ/ディレクト
リーが参照している場合は、この項目を設定した方がいいでしょう。クラス階層に関する情報を使用するバグディテクタが、 &FindBugs; にはいくつかあります。し
たがって、&FindBugs; が分析を行うクラスの完全なクラス階層を参照できれば、より正確な分析結果を取得することができます。</para> | 702 <para>もうひとつ、任意指定の手順があります。それは、補助用の Jar ファイルおよびディレクトリーを 「Auxiliary classpath locat
ions」のエントリーに追加することです。分析するアーカイブ/ディレクトリーにも標準の実行時クラスパスにも含まれていないクラスを、分析するアーカイブ/ディレクト
リーが参照している場合は、この項目を設定した方がいいでしょう。クラス階層に関する情報を使用するバグディテクタが、 &FindBugs; にはいくつかあります。し
たがって、&FindBugs; が分析を行うクラスの完全なクラス階層を参照できれば、より正確な分析結果を取得することができます。</para> |
676 | 703 |
677 </sect1> | 704 </sect1> |
678 | 705 |
679 <sect1> | 706 <sect1> |
680 <title>分析の実行</title> | 707 <title>分析の実行</title> |
681 <para>アーカイブ、ディレクトリーおよびソースディレクトリーの指定ができれば、「Finish」ボタンを押して Jar ファイルに含まれるクラスに対する分析を
実行します。巨大なプロジェクトを古いコンピュータ上で実行すると、かなりの時間(数十分)がかかることに注意してください。大容量メモリである最近のコンピュータなら、
大きなプログラムであっても数分程度で分析できます。</para> | 708 <para>アーカイブ、ディレクトリーおよびソースディレクトリーの指定ができれば、「Analyze」ボタンを押して Jar ファイルに含まれるクラスに対する分析
を実行します。巨大なプロジェクトを古いコンピュータ上で実行すると、かなりの時間(数十分)がかかることに注意してください。大容量メモリである最近のコンピュータなら
、大きなプログラムであっても数分程度で分析できます。</para> |
682 </sect1> | 709 </sect1> |
683 | 710 |
684 <sect1> | 711 <sect1> |
685 <title>結果の閲覧</title> | 712 <title>結果の閲覧</title> |
686 | 713 |
687 <para>分析が完了すると、次のような画面が表示されます :<mediaobject> | 714 <para>分析が完了すると、次のような画面が表示されます :<mediaobject> |
688 <imageobject> | 715 <imageobject> |
689 <imagedata fileref="example-details.png"/> | 716 <imagedata fileref="example-details.png"/> |
690 </imageobject> | 717 </imageobject> |
691 </mediaobject> | 718 </mediaobject> |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
796 | 823 |
797 BUILD SUCCESSFUL | 824 BUILD SUCCESSFUL |
798 Total time: 35 seconds | 825 Total time: 35 seconds |
799 </screen>この事例においては、XML ファイルでバグ検索結果を保存しているので、 &FindBugs; GUI を使って結果を参照することができます。
<xref linkend="running"/> を参照してください。</para> | 826 </screen>この事例においては、XML ファイルでバグ検索結果を保存しているので、 &FindBugs; GUI を使って結果を参照することができます。
<xref linkend="running"/> を参照してください。</para> |
800 | 827 |
801 </sect1> | 828 </sect1> |
802 | 829 |
803 <sect1> | 830 <sect1> |
804 <title>パラメーター</title> | 831 <title>パラメーター</title> |
805 | 832 |
806 <para>このセクションでは、 &FindBugs; タスクを使用する際に、指定することができるパラメーターについて説明します。<variablelist>
<varlistentry> <term><literal>class</literal></term> | 833 <para>このセクションでは、 &FindBugs; タスクを使用する際に、指定することができるパラメーターについて説明します。 |
| 834 |
| 835 <variablelist> |
| 836 |
| 837 <varlistentry> |
| 838 <term><literal>class</literal></term> |
807 <listitem> | 839 <listitem> |
808 <para>分析の対象となるクラス群を指定するためのネストされる要素です。<literal>class</literal> 要素には <liter
al>location</literal> 属性の指定が必須です。分析対象となるアーカイブファイル (jar, zip, 他)、ディレクトリーまたはクラスファイ
ルの名前を記述します。1 つの <literal>findbugs</literal> 要素に対して、複数の <literal>class</literal>
子要素を指定することができます。</para> | 840 <para>任意指定のネストされる要素です。分析の対象となるクラス群を指定します。 |
| 841 <literal>class</literal> 要素には <literal>location</literal> 属性の指定が必須です。 |
| 842 分析対象となるアーカイブファイル (jar, zip, 他)、ディレクトリーまたはクラスファイルの名前を記述します。 |
| 843 1 つの <literal>findbugs</literal> 要素に対して、複数の <literal>class</literal> 子要素を
指定することができます。 |
| 844 </para> |
| 845 <para><literal>class</literal> 要素の指定を置き換えるまたは追加する形で、 &FindBugs; タスクに1個以上の
<literal>fileset</literal> 要素を記述することで |
| 846 分析するファイル群を指定することができます。 |
| 847 例えば、 fileset において特定のディレクトリにある全ての jar ファイルを分析対象に指定することができます。 |
| 848 </para> |
809 </listitem> | 849 </listitem> |
810 </varlistentry> | 850 </varlistentry> |
811 | 851 |
812 <varlistentry> | 852 <varlistentry> |
813 <term><literal>auxClasspath</literal></term> | 853 <term><literal>auxClasspath</literal></term> |
814 <listitem> | 854 <listitem> |
815 <para>任意指定のネストされる要素です。分析対象のライブラリーまたはアプリケーションによって使用されているが分析の対象にはしたくないクラスを含
んでいるクラスパス (Jar ファイルまたはディレクトリー) を指定します。 &Ant; の Java タスクにある <literal>classpath</
literal> 要素 と同じ方法で指定することができます。</para> | 855 <para>任意指定のネストされる要素です。分析対象のライブラリーまたはアプリケーションによって使用されているが分析の対象にはしたくないクラスを含
んでいるクラスパス (Jar ファイルまたはディレクトリー) を指定します。 &Ant; の Java タスクにある <literal>classpath</
literal> 要素 と同じ方法で指定することができます。</para> |
816 </listitem> | 856 </listitem> |
817 </varlistentry> | 857 </varlistentry> |
818 | 858 |
(...skipping 14 matching lines...) Expand all Loading... |
833 <varlistentry> | 873 <varlistentry> |
834 <term><literal>quietErrors</literal></term> | 874 <term><literal>quietErrors</literal></term> |
835 <listitem> | 875 <listitem> |
836 <para>任意指定のブール値属性です。true を設定すると、深刻な分析エラー発生やクラスがみつからないといった情報が &FindBugs; 出
力に記録されません。デフォルトは、 false です。</para> | 876 <para>任意指定のブール値属性です。true を設定すると、深刻な分析エラー発生やクラスがみつからないといった情報が &FindBugs; 出
力に記録されません。デフォルトは、 false です。</para> |
837 </listitem> | 877 </listitem> |
838 </varlistentry> | 878 </varlistentry> |
839 | 879 |
840 <varlistentry> | 880 <varlistentry> |
841 <term><literal>reportLevel</literal></term> | 881 <term><literal>reportLevel</literal></term> |
842 <listitem> | 882 <listitem> |
843 <para>任意指定の属性です。報告されるバグの優先度のしきい値を指定します。「low」に設定すると、すべてのバグが報告されます。「medium」
(デフォルト) に設定すると、優先度 (中)および優先度 (高)のバグが報告されます。「high」に設定すると、優先度 (高) のバグのみが報告されます。</
para> | 883 <para> |
| 884 任意指定の属性です。報告される問題の信頼度・優先度のしきい値を指定します。 |
| 885 「low」に設定すると、バグ報告が信頼度により除外されることはありません。 |
| 886 「medium」 (デフォルト) に設定すると、信頼度(低)の問題が除外されます。 |
| 887 「high」に設定すると、信頼度(高) のバグのみが報告されます。 |
| 888 </para> |
844 </listitem> | 889 </listitem> |
845 </varlistentry> | 890 </varlistentry> |
846 | 891 |
847 <varlistentry> | 892 <varlistentry> |
848 <term><literal>output</literal></term> | 893 <term><literal>output</literal></term> |
849 <listitem> | 894 <listitem> |
850 <para>任意指定の属性です。出力形式を指定します。「xml」 (デフォルト) に設定すると、出力は XML 形式になります。「xml:with
Messages」 に設定すると、出力は人間が読めるメッセージ が追加された XML 形式になります。(XSL スタイルシートを使ってレポートを作成することを計
画している場合はこの形式を使用してください。) 「html」に設定すると、出力は HTML 形式(デフォルトのスタイルシートは default.xsl) になり
ます。 「text」に設定すると、出力は特別なテキスト形式になります。「emacs」に設定すると、出力は <ulink url="http://www.gnu.
org/software/emacs/">Emacs</ulink> エラーメッセージ形式になります。「xdocs」に設定すると、出力は Apache Mave
n で使用できる xdoc XML になります。</para> | 895 <para>任意指定の属性です。出力形式を指定します。「xml」 (デフォルト) に設定すると、出力は XML 形式になります。「xml:with
Messages」 に設定すると、出力は人間が読めるメッセージ が追加された XML 形式になります。(XSL スタイルシートを使ってレポートを作成することを計
画している場合はこの形式を使用してください。) 「html」に設定すると、出力は HTML 形式(デフォルトのスタイルシートは default.xsl) になり
ます。 「text」に設定すると、出力は特別なテキスト形式になります。「emacs」に設定すると、出力は <ulink url="http://www.gnu.
org/software/emacs/">Emacs</ulink> エラーメッセージ形式になります。「xdocs」に設定すると、出力は Apache Mave
n で使用できる xdoc XML になります。</para> |
851 </listitem> | 896 </listitem> |
852 </varlistentry> | 897 </varlistentry> |
853 <varlistentry> | 898 <varlistentry> |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
902 <varlistentry> | 947 <varlistentry> |
903 <term><literal>visitors</literal></term> | 948 <term><literal>visitors</literal></term> |
904 <listitem> | 949 <listitem> |
905 <para>任意指定の属性です。どのバグディテクタを実行するかをコンマ区切りのリストで指定します。バグディテクタはパッケージ指定なしのクラス名で指
定します。省略時、デフォルトで無効化されているものを除くすべてのディテクタが実行されます。</para> | 950 <para>任意指定の属性です。どのバグディテクタを実行するかをコンマ区切りのリストで指定します。バグディテクタはパッケージ指定なしのクラス名で指
定します。省略時、デフォルトで無効化されているものを除くすべてのディテクタが実行されます。</para> |
906 </listitem> | 951 </listitem> |
907 </varlistentry> | 952 </varlistentry> |
908 | 953 |
909 <varlistentry> | 954 <varlistentry> |
910 <term><literal>omitVisitors</literal></term> | 955 <term><literal>omitVisitors</literal></term> |
911 <listitem> | 956 <listitem> |
912 <para>任意指定の属性です。<literal>visitors</literal> 属性と似ていますが、こちらは <emphasis>実行され
ない</emphasis> ディテクタを指定します。</para> | 957 <para> |
| 958 任意指定の属性です。 |
| 959 バグディテクタをコンマ区切りのリストで指定します。 |
| 960 <literal>visitors</literal> 属性と似ていますが、こちらは <emphasis>実行されない</emphasis> ディ
テクタを指定します。 |
| 961 </para> |
913 </listitem> | 962 </listitem> |
914 </varlistentry> | 963 </varlistentry> |
915 | 964 |
| 965 <varlistentry> |
| 966 <term><literal>chooseVisitors</literal></term> |
| 967 <listitem> |
| 968 <para> |
| 969 任意指定の属性です。 |
| 970 頭に「+」または「-」を付け加えたバグディテクタをコンマ区切りのリストで指定します。 |
| 971 「+」を付け加えたバグディテクタは有効に、「-」を付け加えたバグディテクタは無効になります。 |
| 972 </para> |
| 973 </listitem> |
| 974 </varlistentry> |
| 975 |
916 <varlistentry> | 976 <varlistentry> |
917 <term><literal>excludeFilter</literal></term> | 977 <term><literal>excludeFilter</literal></term> |
918 <listitem> | 978 <listitem> |
919 <para>任意指定の属性です。フィルターファイル名を指定します。報告から除外されるバグを指定します。<xref linkend="filter"
/> を参照してください。</para> | 979 <para>任意指定の属性です。フィルターファイル名を指定します。報告から除外されるバグを指定します。<xref linkend="filter"
/> を参照してください。</para> |
920 </listitem> | 980 </listitem> |
921 </varlistentry> | 981 </varlistentry> |
922 | 982 |
923 <varlistentry> | 983 <varlistentry> |
924 <term><literal>includeFilter</literal></term> | 984 <term><literal>includeFilter</literal></term> |
925 <listitem> | 985 <listitem> |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 </listitem> | 1029 </listitem> |
970 </varlistentry> | 1030 </varlistentry> |
971 | 1031 |
972 <varlistentry> | 1032 <varlistentry> |
973 <term><literal>warningsProperty</literal></term> | 1033 <term><literal>warningsProperty</literal></term> |
974 <listitem> | 1034 <listitem> |
975 <para>任意指定の属性です。&FindBugs; が分析したプログラムにバグ報告が 1 件でもある場合に、「true」が設定されるプロパ
ティーの名前を指定します。</para> | 1035 <para>任意指定の属性です。&FindBugs; が分析したプログラムにバグ報告が 1 件でもある場合に、「true」が設定されるプロパ
ティーの名前を指定します。</para> |
976 </listitem> | 1036 </listitem> |
977 </varlistentry> | 1037 </varlistentry> |
978 | 1038 |
| 1039 <varlistentry> |
| 1040 <term><literal>userPreferencesFile</literal></term> |
| 1041 <listitem> |
| 1042 <para> |
| 1043 任意指定の属性です。 |
| 1044 ユーザー設定ファイルのパスを設定します。ユーザー設定ファイルの内容で、他のオプションの一部を上書きすることができます。 |
| 1045 <literal>userPreferencesFile</literal> を一番目の引数に指定した場合は、後続のオプションの方が
ユーザー設定ファイルの内容に優先します。 |
| 1046 <literal>userPreferencesFile</literal> を最後の引数に指定した場合は、ユーザー設定ファイルの内
容の方が前に指定したオプションに優先します。 |
| 1047 このオプションを設けた背景・理由は、 Eclipse プロジェクトの FindBugs の設定をコマンドライン実行で再利用するためで
す。 |
| 1048 </para> |
| 1049 </listitem> |
| 1050 </varlistentry> |
| 1051 |
| 1052 <varlistentry> |
| 1053 <term><literal>nested</literal></term> |
| 1054 <listitem> |
| 1055 <para> |
| 1056 任意指定の属性です。分析対象のファイル・ディレクトリーリストにあるファイル内にネストされた jar および zip ファイルに対する
分析を有効化・無効化します。 |
| 1057 デフォルトでは、ネストされた jar/zip の分析は有効です。 |
| 1058 </para> |
| 1059 </listitem> |
| 1060 </varlistentry> |
| 1061 |
979 </variablelist> | 1062 </variablelist> |
980 | 1063 |
981 | 1064 |
982 </para> | 1065 </para> |
983 | 1066 |
984 <!-- | 1067 <!-- |
985 | 1068 |
986 --> | 1069 --> |
987 | 1070 |
988 </sect1> | 1071 </sect1> |
989 | 1072 |
990 </chapter> | 1073 </chapter> |
991 | 1074 |
992 <!-- | 1075 <!-- |
993 ************************************************************************** | 1076 ************************************************************************** |
994 Using the FindBugs Eclipse plugin | 1077 Using the FindBugs Eclipse plugin |
995 ************************************************************************** | 1078 ************************************************************************** |
996 --> | 1079 --> |
997 | 1080 |
998 <chapter id="eclipse"> | 1081 <chapter id="eclipse"> |
999 <title>&FindBugs;™ Eclipse プラグインの使用方法</title> | 1082 <title>&FindBugs;™ Eclipse プラグインの使用方法</title> |
1000 | 1083 |
1001 <para>FindBugs Eclipse プラグインを使用することによって、 &FindBugs; を <ulink url="http://www.ecl
ipse.org/">Eclipse</ulink> IDE で使用することができるようになります。このFindBugs Eclipse プラグインは、 Pet
er Friese 氏の多大な貢献によるものです。Phil Crosby 氏 と Andrei Loskutov 氏は、プラグインの重要な改良に貢献しました。<
/para> | 1084 <para> |
| 1085 FindBugs Eclipse プラグインを使用することによって、 &FindBugs; を <ulink url="http://www.eclipse.o
rg/">Eclipse</ulink> IDE で使用することができるようになります。 |
| 1086 このFindBugs Eclipse プラグインは、 Peter Friese 氏の多大な貢献によるものです。 |
| 1087 Phil Crosby 氏 と Andrey Loskutov 氏は、プラグインの重要な改良に貢献しました。 |
| 1088 </para> |
1002 | 1089 |
1003 <sect1> | 1090 <sect1> |
1004 <title>必要条件</title> | 1091 <title>必要条件</title> |
1005 | 1092 |
1006 <para>&FindBugs; Eclipse Plugin を使用するためには、 Eclipse 3.3 あるいはそれ以降のバージョン、また、 JRE/JD
K 1.5 あるいはそれ以降のバージョンが必要です。</para> | 1093 <para>&FindBugs; Eclipse Plugin を使用するためには、 Eclipse 3.3 あるいはそれ以降のバージョン、また、 JRE/JD
K 1.5 あるいはそれ以降のバージョンが必要です。</para> |
1007 | 1094 |
1008 </sect1> | 1095 </sect1> |
1009 | 1096 |
1010 <sect1> | 1097 <sect1> |
1011 <title>インストール</title> | 1098 <title>インストール</title> |
1012 | 1099 |
1013 <para>更新サイトが提供されています。更新サイトを利用して、機械的に FindBugs を Eclipse にインストールできます。また自動的に、最新版のア
ップデートを照会してインストールすることもできます。内容の異なる 3 つの更新サイトが存在します。</para> | 1100 <para>更新サイトが提供されています。更新サイトを利用して、機械的に FindBugs を Eclipse にインストールできます。また自動的に、最新版のア
ップデートを照会してインストールすることもできます。内容の異なる 3 つの更新サイトが存在します。</para> |
1014 | 1101 |
1015 <variablelist><title>FindBugs Eclipse 更新サイト一覧</title> | 1102 <variablelist><title>FindBugs Eclipse 更新サイト一覧</title> |
1016 <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse/">http://
findbugs.cs.umd.edu/eclipse/</ulink></term> | 1103 <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse/">http://
findbugs.cs.umd.edu/eclipse/</ulink></term> |
1017 | 1104 |
1018 <listitem> | 1105 <listitem> |
1019 <para>FindBugs の公式リリース物を提供します。</para> | 1106 <para>FindBugs の公式リリース物を提供します。</para> |
1020 </listitem> | 1107 </listitem> |
1021 </varlistentry> | 1108 </varlistentry> |
1022 | 1109 |
1023 <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse-candidate
/">http://findbugs.cs.umd.edu/eclips-candidate/</ulink></term> | 1110 <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse-candidate
/">http://findbugs.cs.umd.edu/eclipse-candidate/</ulink></term> |
1024 | 1111 |
1025 <listitem> | 1112 <listitem> |
1026 <para>FindBugsの公式リリース物に加えて、公式リリース候補版を提供します。</para> | 1113 <para>FindBugsの公式リリース物に加えて、公式リリース候補版を提供します。</para> |
1027 </listitem> | 1114 </listitem> |
1028 </varlistentry> | 1115 </varlistentry> |
1029 | 1116 |
1030 <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse-daily/">h
ttp://findbugs.cs.umd.edu/eclipse-daily/</ulink></term> | 1117 <varlistentry><term><ulink url="http://findbugs.cs.umd.edu/eclipse-daily/">h
ttp://findbugs.cs.umd.edu/eclipse-daily/</ulink></term> |
1031 | 1118 |
1032 <listitem> | 1119 <listitem> |
1033 <para>FindBugsの日次ビルド物を提供します。コンパイルができること以上のテストは行われていません。</para> | 1120 <para>FindBugsの日次ビルド物を提供します。コンパイルができること以上のテストは行われていません。</para> |
1034 </listitem> | 1121 </listitem> |
1035 </varlistentry> | 1122 </varlistentry> |
1036 </variablelist> | 1123 </variablelist> |
1037 | 1124 |
1038 <para>また、次に示すリンクから手動でプラグインをダウンロードすることもできます : <ulink url="http://prdownloads.sour
ceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_2.0.3.20131122.zip?downl
oad">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.ecli
pse_2.0.3.20131122.zip?download</ulink>. 展開して Eclipse の「plugins」サブディレクトリーに入れてくださ
い。(そうすると、 <eclipse インストールディレクトリー >/plugins/edu.umd.cs.findbugs.plugin.ecli
pse_2.0.3.20131122/findbugs.png が &FindBugs; のロゴファイルへのパスになるはずです。)</para> | 1125 <para>また、次に示すリンクから手動でプラグインをダウンロードすることもできます : <ulink url="http://prdownloads.sour
ceforge.net/findbugs/edu.umd.cs.findbugs.plugin.eclipse_3.0.0.20140706.zip?downl
oad">http://prdownloads.sourceforge.net/findbugs/edu.umd.cs.findbugs.plugin.ecli
pse_3.0.0.20140706.zip?download</ulink>. 展開して Eclipse の「plugins」サブディレクトリーに入れてくださ
い。(そうすると、 <eclipse インストールディレクトリー >/plugins/edu.umd.cs.findbugs.plugin.ecli
pse_3.0.0.20140706/findbugs.png が &FindBugs; のロゴファイルへのパスになるはずです。)</para> |
1039 | 1126 |
1040 <para>プラグインの展開ができたら、 Eclipse を起動して <menuchoice> <guimenu>Help</guimenu> <guimenu
item>About Eclipse Platform</guimenuitem> <guimenuitem>Plug-in Details</guimenui
tem> </menuchoice> を選択してください。「FindBugs Project」から提供された「FindBugs Plug-in」というプラグイン
があることを確認してください。</para> | 1127 <para>プラグインの展開ができたら、 Eclipse を起動して <menuchoice> <guimenu>Help</guimenu> <guimenu
item>About Eclipse Platform</guimenuitem> <guimenuitem>Plug-in Details</guimenui
tem> </menuchoice> を選択してください。「FindBugs Project」から提供された「FindBugs Plug-in」というプラグイン
があることを確認してください。</para> |
1041 </sect1> | 1128 </sect1> |
1042 | 1129 |
1043 <sect1> | 1130 <sect1> |
1044 <title>プラグインの使用方法</title> | 1131 <title>プラグインの使用方法</title> |
1045 | 1132 |
1046 <para>実行するには、 Java プロジェクト上で右クリックして「Find Bugs」を選択します。&FindBugs; が実行されて、バグパターンの実例の
可能性があると識別されたコード箇所に問題マーカーがつきます。 (ソース画面および Eclipse 問題ビューに表示されます。)</para> | 1133 <para>実行するには、 Java プロジェクト上で右クリックして「Find Bugs」を選択します。&FindBugs; が実行されて、バグパターンの実例の
可能性があると識別されたコード箇所に問題マーカーがつきます。 (ソース画面および Eclipse 問題ビューに表示されます。)</para> |
1047 | 1134 |
1048 <para>Java プロジェクトのプロパティーダイアログを開いて「Findbugs」プロパティーページを選択することで、 &FindBugs; の動作をカスタ
マイズすることができます。選択できる項目には次のようなものがあります :</para> | 1135 <para>Java プロジェクトのプロパティーダイアログを開いて「Findbugs」プロパティーページを選択することで、 &FindBugs; の動作をカスタ
マイズすることができます。選択できる項目には次のようなものがあります :</para> |
1049 | 1136 |
1050 <itemizedlist> | 1137 <itemizedlist> |
1051 <listitem> | 1138 <listitem> |
1052 <para>「Run FindBugs Automatically」チェックボックスの設定。チェックすると、プロジェクト内の Java クラスが修正され
るたびに FindBugs が実行されます。</para> | 1139 <para>「Run FindBugs Automatically」チェックボックスの設定。チェックすると、プロジェクト内の Java クラスが修正され
るたびに FindBugs が実行されます。</para> |
1053 </listitem> | 1140 </listitem> |
1054 | 1141 |
1055 <listitem> | 1142 <listitem> |
1056 <para>優先度とバグカテゴリーの選択。これらのオプションは、どの警告を表示するかを選択します。例えば、優先度で 「Medium」 を選択すると、優先
度 (中) および優先度 (高) の警告のみが表示されます。同様に、「Style」チェックボックスのチェックマークを外すと、Style カテゴリーに属する警告は
表示されません。</para> | 1143 <para>優先度とバグカテゴリーの選択。これらのオプションは、どの警告を表示するかを選択します。例えば、優先度で 「Medium」 を選択すると、優先
度 (中) および優先度 (高) の警告のみが表示されます。同様に、「Style」チェックボックスのチェックマークを外すと、Style カテゴリーに属する警告は
表示されません。</para> |
1057 </listitem> | 1144 </listitem> |
1058 | 1145 |
1059 <listitem> | 1146 <listitem> |
1060 <para>ディテクタの選択。表からプロジェクトで有効にしたいディテクタを選択することができます。</para> | 1147 <para>ディテクタの選択。表からプロジェクトで有効にしたいディテクタを選択することができます。</para> |
1061 </listitem> | 1148 </listitem> |
1062 </itemizedlist> | 1149 </itemizedlist> |
1063 | 1150 |
1064 </sect1> | 1151 </sect1> |
1065 | 1152 |
1066 <sect1> | 1153 <sect1> |
| 1154 <title>Eclipse プラグインの拡張方法 (2.0.0 以降)</title> |
| 1155 <para> |
| 1156 Eclipse プラグインでは、 独自の &FindBugs; ディテクタを追加することができます。 |
| 1157 (詳しく知りたい方は、 |
| 1158 <ulink url="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc/Add
ingDetectors.txt">AddingDetectors.txt</ulink> |
| 1159 もご覧ください)。 |
| 1160 独自のプラグインを Eclipse に追加するには以下の2通りの方法があります。 |
| 1161 </para> |
| 1162 <itemizedlist> |
| 1163 <listitem> |
| 1164 <para> |
| 1165 既存の標準 &FindBugs; ディテクタパッケージは以下で設定できます。 |
| 1166 <menuchoice> |
| 1167 <guimenu>Window</guimenu> |
| 1168 <guimenuitem>Preferences</guimenuitem> |
| 1169 <guimenuitem>Java</guimenuitem> |
| 1170 <guimenuitem>FindBugs</guimenuitem> |
| 1171 <guimenuitem>Misc. Settings</guimenuitem> |
| 1172 <guimenuitem>Custom Detectors</guimenuitem> |
| 1173 </menuchoice>。 |
| 1174 ここで追加するプラグインライブラリの場所を指定するだけです。 |
| 1175 </para> |
| 1176 |
| 1177 <para> |
| 1178 この方法の利点は、既存のディテクタパッケージは「そのまま」で、サードパーティーディテクタの品質をすばやく検証できることです。 |
| 1179 欠点としては、この設定は Eclipse ワークスペース毎に適用する必要があり、この設定をチームメンバー間で共有することができないことです。 |
| 1180 </para> |
| 1181 </listitem> |
| 1182 |
| 1183 <listitem> |
| 1184 <para> |
| 1185 Eclipse 標準の拡張機構を使って独自のディテクタを追加することができます。 |
| 1186 </para> |
| 1187 |
| 1188 <para> |
| 1189 <ulink url="http://code.google.com/p/findbugs/source/browse/eclipsePlugin/sc
hema/detectorPlugins.exsd"> |
| 1190 findBugsEclipsePlugin/schema/detectorPlugins.exsd</ulink> の documentation で
plugin.xml の更新方法を確認してください。 |
| 1191 既存の &FindBugs; ディテクタプラグイン を簡単に「拡張」して強力な &FindBugs; Eclipse ディテクタプラグイン にすることが
できます。 |
| 1192 通常必要なのは、 META-INF/MANIFEST.MF および plugin.xml を jar に追加してかつ、 MANIFEST.MF がビルド
時に上書きされないようにビルドスクリプトを更新するだけです。 |
| 1193 </para> |
| 1194 |
| 1195 <para> |
| 1196 この方法の利点は、 Eclipse インストールを共有しさえすれば、チームメンバー同士で正確に同じディテクタ設定を使用できることです。 |
| 1197 前提条件は現在使用しているディテクタパッケージを Eclipse プラグインに変換しておくことです。 |
| 1198 これはサードパーティのディテクタパッケージも同様です。 |
| 1199 もうひとつの主な差別化要因は、 FindBugs のデフォルト実行時クラスパス に当該サードパーティライブラリーを追加することが必要なことです(くわしく
は |
| 1200 <ulink url="http://code.google.com/p/findbugs/source/browse/findbugs/src/doc
/AddingDetectors.txt">AddingDetectors.txt</ulink> |
| 1201 をご覧ください)。 |
| 1202 </para> |
| 1203 </listitem> |
| 1204 |
| 1205 </itemizedlist> |
| 1206 |
| 1207 </sect1> |
| 1208 |
| 1209 <sect1> |
1067 <title>トラブルシューティング</title> | 1210 <title>トラブルシューティング</title> |
1068 | 1211 |
1069 <para>&FindBugs; Eclipse プラグインは、まだ実験段階です。このセクションでは、プラグインに関する一般的な問題と (判明していれば) それ
らの問題の解決方法を記述します。</para> | 1212 <para> |
| 1213 このセクションでは、プラグインに関する一般的な問題と (判明していれば) それらの問題の解決方法を記述します。 |
| 1214 </para> |
1070 | 1215 |
1071 <itemizedlist> | 1216 <itemizedlist> |
1072 <listitem> | 1217 <listitem> |
1073 <para>&FindBugs; 問題マーカーが (ソース画面および問題ビューに) 表示されない場合は、問題ビューのフィルター設定を変更してください。詳
細情報は <ulink url="http://findbugs.sourceforge.net/FAQ.html#q7">http://findbugs.so
urceforge.net/FAQ.html#q7</ulink> を参照してください。</para> | 1218 <para> |
| 1219 Eclipse において &FindBugs; の分析開始後に OutOfMemory エラーダイアログが 出た場合は、 |
| 1220 JVM の使用メモリを増やしてください。すなわち、 eclipse.ini の末尾に以下の記述を追加してください。 |
| 1221 <programlisting> |
| 1222 -vmargs |
| 1223 -Xmx1000m |
| 1224 </programlisting> |
| 1225 重要:「-vmargs」で始まる設定引数は eclipse.ini ファイルの末尾に記述する必要があります。 |
| 1226 また、各行には引数を一つだけしか書くことができません! |
| 1227 </para> |
| 1228 </listitem> |
| 1229 <listitem> |
| 1230 <para> |
| 1231 &FindBugs; 問題マーカーが (ソース画面および問題ビューに) 表示されない場合は、問題ビューのフィルター設定を変更してください。 |
| 1232 詳細情報は <ulink url="http://findbugs.sourceforge.net/FAQ.html#q7">http://findbu
gs.sourceforge.net/FAQ.html#q7</ulink> を参照してください。 |
| 1233 </para> |
1074 </listitem> | 1234 </listitem> |
1075 | 1235 |
1076 </itemizedlist> | 1236 </itemizedlist> |
1077 | 1237 |
1078 </sect1> | 1238 </sect1> |
1079 | 1239 |
1080 | 1240 |
1081 </chapter> | 1241 </chapter> |
1082 | 1242 |
1083 | 1243 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 <sect1> | 1277 <sect1> |
1118 <title>マッチング条件の種類</title> | 1278 <title>マッチング条件の種類</title> |
1119 | 1279 |
1120 <variablelist> | 1280 <variablelist> |
1121 <varlistentry> | 1281 <varlistentry> |
1122 <term><literal><Bug></literal></term> | 1282 <term><literal><Bug></literal></term> |
1123 <listitem><para>この要素は、バグパターンを指定して照合します。<literal>pattern</literal> 属性には、コンマ区切り
でバグパターン類型のリストを指定します。どの警告がどのバグパターン類型にあたるかは、 <command>-xml</command> オプションをつかって出力さ
れたもの (<literal>BugInstance</literal> 要素の <literal>type</literal> 属性) を見るか、または、 <
ulink url="../../bugDescriptions.html">バグ解説ドキュメント</ulink>を参照してください。</para><para>
もっと粒度の粗い照合を行いたいときは、 <literal>code</literal> 属性を使用してください。バグ略称のコンマ区切りのリストで指定できます。さ
らに粒度の粗い照合を行いたいときは、 <literal>category</literal> 属性を使用してください。次に示す、バグカテゴリー名のコンマ区切りの
リストで指定できます : <literal>CORRECTNESS</literal>, <literal>MT_CORRECTNESS</literal>,
<literal>BAD_PRACTICICE</literal>, <literal>PERFORMANCE</literal>, <literal>STYL
E</literal>.</para><para>同じ <literal><Bug></literal> 要素に上記の属性を複数指定した場合は、バグ
パターン名、バグ略称、バグカテゴリーのいずれか1つでも該当すれば、バグパターンは合致すると判定されます。</para><para>下位互換性を持たせたい場合は、
<literal><Bug></literal> 要素の代わりに <literal><BugPattern></literal> 要素
および <literal><BugCode></literal> 要素を使用してください。これらの要素はそれぞれ、 <literal>name</l
iteral> 属性で値のリストを指定します。これらの要素は、将来サポートされなくなる可能性があります。</para></listitem> | 1283 <listitem><para>この要素は、バグパターンを指定して照合します。<literal>pattern</literal> 属性には、コンマ区切り
でバグパターン類型のリストを指定します。どの警告がどのバグパターン類型にあたるかは、 <command>-xml</command> オプションをつかって出力さ
れたもの (<literal>BugInstance</literal> 要素の <literal>type</literal> 属性) を見るか、または、 <
ulink url="../../bugDescriptions.html">バグ解説ドキュメント</ulink>を参照してください。</para><para>
もっと粒度の粗い照合を行いたいときは、 <literal>code</literal> 属性を使用してください。バグ略称のコンマ区切りのリストで指定できます。さ
らに粒度の粗い照合を行いたいときは、 <literal>category</literal> 属性を使用してください。次に示す、バグカテゴリー名のコンマ区切りの
リストで指定できます : <literal>CORRECTNESS</literal>, <literal>MT_CORRECTNESS</literal>,
<literal>BAD_PRACTICICE</literal>, <literal>PERFORMANCE</literal>, <literal>STYL
E</literal>.</para><para>同じ <literal><Bug></literal> 要素に上記の属性を複数指定した場合は、バグ
パターン名、バグ略称、バグカテゴリーのいずれか1つでも該当すれば、バグパターンは合致すると判定されます。</para><para>下位互換性を持たせたい場合は、
<literal><Bug></literal> 要素の代わりに <literal><BugPattern></literal> 要素
および <literal><BugCode></literal> 要素を使用してください。これらの要素はそれぞれ、 <literal>name</l
iteral> 属性で値のリストを指定します。これらの要素は、将来サポートされなくなる可能性があります。</para></listitem> |
1124 </varlistentry> | 1284 </varlistentry> |
1125 | 1285 |
1126 <varlistentry> | 1286 <varlistentry> |
| 1287 <term><literal><Confidence></literal></term> |
| 1288 <listitem> |
| 1289 <para> |
| 1290 この要素は、特定のバグ信頼度をもつ警告を照合します。 |
| 1291 <literal>value</literal> 属性には、整数値を指定します。すなわち 1 は信頼度(高) 、また、 2 は信頼度(中
) 、 3 は信頼度(低) を示します。 |
| 1292 <Confidence> は 2.0.0 リリースから <Priority> の後継として取って代わりました。 |
| 1293 </para> |
| 1294 </listitem> |
| 1295 </varlistentry> |
| 1296 |
| 1297 <varlistentry> |
1127 <term><literal><Priority></literal></term> | 1298 <term><literal><Priority></literal></term> |
1128 <listitem> | 1299 <listitem> |
1129 <para>この要素は、特定の優先度をもつ警告を照合します。<literal>value</literal> 属性には、整数値を指定します :
1 は優先度(高)、また、 2 は優先度(中) 、 3 は優先度(低) を示します。</para> | 1300 <para> |
| 1301 <literal><Confidence></literal> と同一です。下位互換性を保つため残されています。 |
| 1302 </para> |
1130 </listitem> | 1303 </listitem> |
1131 </varlistentry> | 1304 </varlistentry> |
1132 | 1305 |
| 1306 <varlistentry> |
| 1307 <term><literal><Rank></literal></term> |
| 1308 <listitem> |
| 1309 <para> |
| 1310 この要素は、特定のバグランクをもつ警告を照合します。 |
| 1311 <literal>value</literal> 属性には、 1 から 20 の整数値を指定します。 |
| 1312 1 から 4 は最も恐ろしいバグ、 5 から 9 は恐ろしいバグ、 10 から 14 は厄介なバグ, |
| 1313 そして 15 から 20 は不安なバグを示します。 |
| 1314 </para> |
| 1315 </listitem> |
| 1316 </varlistentry> |
1133 | 1317 |
1134 <varlistentry> | 1318 <varlistentry> |
1135 <term><literal><Package></literal></term> | 1319 <term><literal><Package></literal></term> |
1136 <listitem> | 1320 <listitem> |
1137 <para>この要素は、 <literal>name</literal> 属性で指定した特定のパッケージ内にあるクラスに関連した警告を照合します
。入れ子のパッケージは含まれません (Java import 文に従っています) 。しかしながら、正規表現を使うと複数パッケージにマッチさせることは簡単にできま
す。</para> | 1321 <para>この要素は、 <literal>name</literal> 属性で指定した特定のパッケージ内にあるクラスに関連した警告を照合します
。入れ子のパッケージは含まれません (Java import 文に従っています) 。しかしながら、正規表現を使うと複数パッケージにマッチさせることは簡単にできま
す。</para> |
1138 </listitem> | 1322 </listitem> |
1139 </varlistentry> | 1323 </varlistentry> |
1140 | 1324 |
1141 <varlistentry> | 1325 <varlistentry> |
1142 <term><literal><Class></literal></term> | 1326 <term><literal><Class></literal></term> |
1143 <listitem> | 1327 <listitem> |
1144 <para>この要素は、特定のクラスに関連した警告を照合します。<literal>name</literal> 属性を使用して、照合するクラス名
をクラス名そのものか、または、正規表現で指定します。</para> | 1328 <para>この要素は、特定のクラスに関連した警告を照合します。<literal>name</literal> 属性を使用して、照合するクラス名
をクラス名そのものか、または、正規表現で指定します。</para> |
1145 | 1329 |
1146 <para>下位互換性を持たせたい場合は、この要素の代わりに <literal>Match</literal> 要素を使用してください。クラス名
そのものの指定は <literal>class</literal> 属性を、クラス名を正規表現で指定する場合は <literal>classregex</lit
eral> 属性をそれぞれ使用してください</para> | 1330 <para>下位互換性を持たせたい場合は、この要素の代わりに <literal>Match</literal> 要素を使用してください。クラス名
そのものの指定は <literal>class</literal> 属性を、クラス名を正規表現で指定する場合は <literal>classregex</lit
eral> 属性をそれぞれ使用してください</para> |
1147 | 1331 |
1148 <para>もし <literal>Match</literal> 要素に <literal>Class</literal> 要素が無かったり、
<literal>class</literal> / <literal>classregex</literal> 属性が無かったりした場合は、すべてのクラスに
適用されます。その場合、想定外に多くのバグ検索結果が一致してしまうことがあり得ます。その場合は、適当なメソッドやフィールドで絞り込んでください。</para> | 1332 <para>もし <literal>Match</literal> 要素に <literal>Class</literal> 要素が無かったり、
<literal>class</literal> / <literal>classregex</literal> 属性が無かったりした場合は、すべてのクラスに
適用されます。その場合、想定外に多くのバグ検索結果が一致してしまうことがあり得ます。その場合は、適当なメソッドやフィールドで絞り込んでください。</para> |
1149 </listitem> | 1333 </listitem> |
1150 </varlistentry> | 1334 </varlistentry> |
1151 | 1335 |
1152 <varlistentry> | 1336 <varlistentry> |
| 1337 <term><literal><Source></literal></term> |
| 1338 <listitem> |
| 1339 <para> |
| 1340 この要素は、特定のソースファイルに関連した警告を照合します。 |
| 1341 <literal>name</literal> 属性を使用して、照合するソースファイル名をソースファイル名そのものか、または、正規表現で
指定します。 |
| 1342 </para> |
| 1343 </listitem> |
| 1344 </varlistentry> |
| 1345 |
| 1346 <varlistentry> |
1153 <term><literal><Method></literal></term> | 1347 <term><literal><Method></literal></term> |
1154 | 1348 |
1155 <listitem><para>この要素は、メソッドを指定します。<literal>name</literal> 属性を使用して、照合するメソッド名をメソ
ッド名そのものか、または、正規表現で指定します。<literal>params</literal> 属性には、コンマ区切りでメソッド引数の型のリストを指定します
。<literal>returns</literal> 属性にはメソッドの戻り値の型を指定します。<literal>params</literal> および <
literal>returns</literal> においては、クラス名は完全修飾名である必要があります。(例えば、単に "String"
ではなく "java.lang.String" としてください。) <literal>params</literal> <literal>r
eturns</literal> のどちらか一方を指定した場合は、もう一方の属性の指定も必須です。なぜならば、メソッドシグニチャーを構築のために必要だからです。
<literal>name</literal> 属性、<literal>params</literal> 属性 および <literal>returns</li
teral> 属性または 3 つの 属性すべて、のどれかを条件とすることできることを意味しています。このように、名前とシグニチャーに基づく様々な種類の条件を規定
できます。</para></listitem> | 1349 <listitem><para>この要素は、メソッドを指定します。<literal>name</literal> 属性を使用して、照合するメソッド名をメソ
ッド名そのものか、または、正規表現で指定します。<literal>params</literal> 属性には、コンマ区切りでメソッド引数の型のリストを指定します
。<literal>returns</literal> 属性にはメソッドの戻り値の型を指定します。<literal>params</literal> および <
literal>returns</literal> においては、クラス名は完全修飾名である必要があります。(例えば、単に "String"
ではなく "java.lang.String" としてください。) <literal>params</literal> <literal>r
eturns</literal> のどちらか一方を指定した場合は、もう一方の属性の指定も必須です。なぜならば、メソッドシグニチャーを構築のために必要だからです。
<literal>name</literal> 属性、<literal>params</literal> 属性 および <literal>returns</li
teral> 属性または 3 つの 属性すべて、のどれかを条件とすることできることを意味しています。このように、名前とシグニチャーに基づく様々な種類の条件を規定
できます。</para></listitem> |
1156 </varlistentry> | 1350 </varlistentry> |
1157 | 1351 |
1158 <varlistentry> | 1352 <varlistentry> |
1159 <term><literal><Field></literal></term> | 1353 <term><literal><Field></literal></term> |
1160 | 1354 |
1161 <listitem><para>この要素は、フィールドを指定します。<literal>name</literal> 属性を使用して、照合するフィールド名を
フィールド名そのものか、または、正規表現で指定します。また、フィールドのシグニチャーに照らしたフィルタリングをすることができます。 <literal>type<
/literal> 属性を使用して、フィールドの型を完全修飾名で指定してください。名前とシグニチャーに基づく条件を規定するために、その2つの属性を両方とも指定す
ることができます。</para></listitem> | 1355 <listitem><para>この要素は、フィールドを指定します。<literal>name</literal> 属性を使用して、照合するフィールド名を
フィールド名そのものか、または、正規表現で指定します。また、フィールドのシグニチャーに照らしたフィルタリングをすることができます。 <literal>type<
/literal> 属性を使用して、フィールドの型を完全修飾名で指定してください。名前とシグニチャーに基づく条件を規定するために、その2つの属性を両方とも指定す
ることができます。</para></listitem> |
1162 </varlistentry> | 1356 </varlistentry> |
1163 | 1357 |
1164 <varlistentry> | 1358 <varlistentry> |
1165 <term><literal><Local></literal></term> | 1359 <term><literal><Local></literal></term> |
1166 | 1360 |
1167 <listitem><para>この要素は、ローカル変数を指定します。<literal>name</literal> 属性を使用して、照合するローカル変数
名をローカル変数名そのものか、または、正規表現で指定します。ローカル変数とは、メソッド内で定義した変数です。</para></listitem> | 1361 <listitem><para>この要素は、ローカル変数を指定します。<literal>name</literal> 属性を使用して、照合するローカル変数
名をローカル変数名そのものか、または、正規表現で指定します。ローカル変数とは、メソッド内で定義した変数です。</para></listitem> |
1168 </varlistentry> | 1362 </varlistentry> |
1169 | 1363 |
1170 <varlistentry> | 1364 <varlistentry> |
1171 <term><literal><Or></literal></term> | 1365 <term><literal><Or></literal></term> |
1172 <listitem><para>この要素は、論理和として <literal>Match</literal> 条項を結合します。すなわち、2つの <lit
eral>Method</literal> 要素を <literal>Or</literal> 条項に入れることで、どちらか一方のメソッドでマッチさせることがで
きます。</para></listitem> | 1366 <listitem><para>この要素は、論理和として <literal>Match</literal> 条項を結合します。すなわち、2つの <lit
eral>Method</literal> 要素を <literal>Or</literal> 条項に入れることで、どちらか一方のメソッドでマッチさせることがで
きます。</para></listitem> |
1173 </varlistentry> | 1367 </varlistentry> |
| 1368 <varlistentry> |
| 1369 <term><literal><And></literal></term> |
| 1370 <listitem><para> |
| 1371 この要素は、論理積として <literal>Match</literal> 条項を結合します。 |
| 1372 すなわち、 <literal>Bug</literal> および <literal>Confidence</literal> 要素を <literal>
And</literal> 条項内に指定することで |
| 1373 特定の信頼度の特定のバグのみ照合することができます。 |
| 1374 </para></listitem> |
| 1375 </varlistentry> |
| 1376 <varlistentry> |
| 1377 <term><literal><Not></literal></term> |
| 1378 <listitem><para> |
| 1379 この要素は、内包する子 <literal>Match</literal> を反転します。 |
| 1380 すなわち、 <literal>Bug</literal> 要素を <literal>Not</literal> 条項内に指定することで指定したバグ以外のす
べてのバグと照合します。 |
| 1381 </para></listitem> |
| 1382 </varlistentry> |
1174 </variablelist> | 1383 </variablelist> |
1175 | 1384 |
1176 </sect1> | 1385 </sect1> |
1177 | 1386 |
1178 <sect1> | 1387 <sect1> |
1179 <title>Java 要素名マッチング</title> | 1388 <title>Java 要素名マッチング</title> |
1180 | 1389 |
1181 <para><literal>Class</literal> 、 <literal>Method</literal> または <literal>Field</l
iteral> の <literal>name</literal> 属性が文字 ~ で始まっている場合は、属性値の残りの部分を Java の正規表現として解釈し
ます。そうして、当該 Java 要素の名前に対しての照合が行われます。</para> | 1390 <para> |
| 1391 <literal>Class</literal> 、 <literal>Source</literal> 、 <literal>Method</literal>
または <literal>Field</literal> の <literal>name</literal> 属性が文字 ~ で始まっている場合は、 |
| 1392 属性値の残りの部分を Java の正規表現として解釈します。 |
| 1393 そうして、当該 Java 要素の名前に対しての照合が行われます。 |
| 1394 </para> |
1182 | 1395 |
1183 <para>パターンの照合は要素の名前全体に対して行われることに注意してください。そのため、部分一致照合を行いたい場合はパターン文字列の前後に .* を付加して
使用する必要があります。</para> | 1396 <para>パターンの照合は要素の名前全体に対して行われることに注意してください。そのため、部分一致照合を行いたい場合はパターン文字列の前後に .* を付加して
使用する必要があります。</para> |
1184 | 1397 |
1185 <para>パターンの構文規則に関しては、 <ulink url="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/
java/util/regex/Pattern.html"><literal>java.util.regex.Pattern</literal></ulink>
のドキュメントを参照してください。</para> | 1398 <para>パターンの構文規則に関しては、 <ulink url="http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/
java/util/regex/Pattern.html"><literal>java.util.regex.Pattern</literal></ulink>
のドキュメントを参照してください。</para> |
1186 </sect1> | 1399 </sect1> |
1187 | 1400 |
1188 <sect1> | 1401 <sect1> |
1189 <title>留意事項</title> | 1402 <title>留意事項</title> |
1190 | 1403 |
1191 <para> | 1404 <para> |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1330 <Method returns="void" name="main" params="java.lang.String[]" /> | 1543 <Method returns="void" name="main" params="java.lang.String[]" /> |
1331 <Method pattern="DM_EXIT" /> | 1544 <Method pattern="DM_EXIT" /> |
1332 </Match> | 1545 </Match> |
1333 <!-- すべてのクラスの com.foobar.DebugInfo 型のフィールドに対する UuF 警告に一致。 --> | 1546 <!-- すべてのクラスの com.foobar.DebugInfo 型のフィールドに対する UuF 警告に一致。 --> |
1334 <Match> | 1547 <Match> |
1335 <Field type="com.foobar.DebugInfo" /> | 1548 <Field type="com.foobar.DebugInfo" /> |
1336 <Bug code="UuF" /> | 1549 <Bug code="UuF" /> |
1337 </Match> | 1550 </Match> |
1338 ]]> | 1551 ]]> |
1339 </programlisting> | 1552 </programlisting> |
| 1553 </para> |
1340 | 1554 |
| 1555 |
| 1556 <para> |
| 1557 11. Not フィルター演算子を使用してバグに一致させます。 |
| 1558 <programlisting> |
| 1559 <![CDATA[ |
| 1560 <!-- テストクラスのバグは無視する。ただし、 JUnit テスト特有のバグは例外とする。 --> |
| 1561 <!-- i.e. filter bug if ( classIsJUnitTest && ! bugIsRelatedToJUnit ) --> |
| 1562 <Match> |
| 1563 <!-- Match フィルタは論理和と同等 --> |
| 1564 |
| 1565 <Class name="~.*\.*Test" /> |
| 1566 <!-- テストクラスは末尾に「Test」 --> |
| 1567 |
| 1568 <Not> |
| 1569 <Bug code="IJU" /> <!-- 「IJU」は JUnit テストコード関連のバグコード --> |
| 1570 </Not> |
| 1571 </Match> |
| 1572 ]]> |
| 1573 </programlisting> |
| 1574 </para> |
| 1575 |
| 1576 <para> |
| 1577 12. 完全な除外フィルター。 Groovy ソースファイルから生成された全クラスを除外します。 |
| 1578 |
| 1579 <programlisting> |
| 1580 <![CDATA[ |
| 1581 <?xml version="1.0" encoding="UTF-8"?> |
| 1582 <FindBugsFilter> |
| 1583 <Match> |
| 1584 <Source name="~.*\.groovy" /> |
| 1585 </Match> |
| 1586 </FindBugsFilter> |
| 1587 ]]> |
| 1588 </programlisting> |
1341 </para> | 1589 </para> |
1342 | 1590 |
1343 </sect1> | 1591 </sect1> |
1344 | 1592 |
1345 <sect1> | 1593 <sect1> |
1346 <title>完全な例</title> | 1594 <title>完全な例</title> |
1347 | 1595 |
1348 <programlisting> | 1596 <programlisting> |
1349 <![CDATA[ | 1597 <![CDATA[ |
1350 <FindBugsFilter> | 1598 <FindBugsFilter> |
(...skipping 22 matching lines...) Expand all Loading... |
1373 <Bug code="DC" /> | 1621 <Bug code="DC" /> |
1374 </Match> | 1622 </Match> |
1375 | 1623 |
1376 <!-- dead local store (優先度 (中)) に関する誤検出があるメソッド。--> | 1624 <!-- dead local store (優先度 (中)) に関する誤検出があるメソッド。--> |
1377 <Match> | 1625 <Match> |
1378 <Class name="com.foobar.MyClass" /> | 1626 <Class name="com.foobar.MyClass" /> |
1379 <Method name="someMethod" /> | 1627 <Method name="someMethod" /> |
1380 <Bug pattern="DLS_DEAD_LOCAL_STORE" /> | 1628 <Bug pattern="DLS_DEAD_LOCAL_STORE" /> |
1381 <Priority value="2" /> | 1629 <Priority value="2" /> |
1382 </Match> | 1630 </Match> |
| 1631 |
| 1632 <!-- テストクラスのバグすべて。 JUnit 特有のバグは除く。 --> |
| 1633 <Match> |
| 1634 <Class name="~.*\.*Test" /> |
| 1635 <Not> |
| 1636 <Bug code="IJU" /> |
| 1637 </Not> |
| 1638 </Match> |
| 1639 |
1383 </FindBugsFilter> | 1640 </FindBugsFilter> |
1384 ]]> | 1641 ]]> |
1385 </programlisting> | 1642 </programlisting> |
1386 | 1643 |
1387 </sect1> | 1644 </sect1> |
1388 | 1645 |
1389 | 1646 |
1390 </chapter> | 1647 </chapter> |
1391 | 1648 |
1392 | 1649 |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1482 | 1739 |
1483 <chapter id="annotations"> | 1740 <chapter id="annotations"> |
1484 <title>アノテーション</title> | 1741 <title>アノテーション</title> |
1485 | 1742 |
1486 <para>&FindBugs; はいくつかのアノテーションをサポートしています。開発者の意図を明確にすることで、 FindBugs はより的確に警告を発行する
ことができます。アノテーションを使用するためには Java 5 が必要であり、 annotations.jar および jsr305.jar ファイルをコンパイ
ル時のクラスパスに含める必要があります。</para> | 1743 <para>&FindBugs; はいくつかのアノテーションをサポートしています。開発者の意図を明確にすることで、 FindBugs はより的確に警告を発行する
ことができます。アノテーションを使用するためには Java 5 が必要であり、 annotations.jar および jsr305.jar ファイルをコンパイ
ル時のクラスパスに含める必要があります。</para> |
1487 | 1744 |
1488 <variablelist> | 1745 <variablelist> |
1489 <varlistentry> | 1746 <varlistentry> |
1490 <term><command>edu.umd.cs.findbugs.annotations.CheckForNull</command></term> | 1747 <term><command>edu.umd.cs.findbugs.annotations.CheckForNull</command></term> |
1491 <listitem> | 1748 <listitem> |
1492 <command>[Target]</command> Field, Method, Parameter | 1749 <para> |
| 1750 <command>[Target]</command> Field, Method, Parameter |
| 1751 </para> |
1493 </listitem> | 1752 </listitem> |
1494 <listitem> | 1753 <listitem> |
1495 <para>アノテーションをつけた要素は、 null である可能性があります。したがって、当該要素を使用する際は null チェックをするべきです。
このアノテーションをメソッドに適用すると、メソッドの戻り値に適用されます。</para> | 1754 <para>アノテーションをつけた要素は、 null である可能性があります。したがって、当該要素を使用する際は null チェックをするべきです。
このアノテーションをメソッドに適用すると、メソッドの戻り値に適用されます。</para> |
1496 </listitem> | 1755 </listitem> |
1497 </varlistentry> | 1756 </varlistentry> |
1498 | 1757 |
1499 <varlistentry> | 1758 <varlistentry> |
1500 <term><command>edu.umd.cs.findbugs.annotations.CheckReturnValue</command></t
erm> | 1759 <term><command>edu.umd.cs.findbugs.annotations.CheckReturnValue</command></t
erm> |
1501 <listitem> | 1760 <listitem> |
| 1761 <para> |
1502 <command>[Target]</command> Method, Constructor | 1762 <command>[Target]</command> Method, Constructor |
| 1763 </para> |
1503 </listitem> | 1764 </listitem> |
1504 <listitem> | 1765 <listitem> |
1505 <variablelist> | 1766 <variablelist> |
1506 <varlistentry> | 1767 <varlistentry> |
1507 <term><command>[Parameter]</command></term> | 1768 <term><command>[Parameter]</command></term> |
1508 <listitem> | 1769 <listitem> |
1509 <para> | 1770 <para> |
1510 <command>priority:</command> 警告の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> | 1771 <command>priority:</command> 警告の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> |
1511 </listitem> | 1772 </listitem> |
1512 <listitem> | 1773 <listitem> |
1513 <para> | 1774 <para> |
1514 <command>explanation:</command>戻り値をチェックしなけばならない理由をテキストで説明します。デフォルト
値 :""。</para> | 1775 <command>explanation:</command>戻り値をチェックしなけばならない理由をテキストで説明します。デフォルト
値 :""。</para> |
1515 </listitem> | 1776 </listitem> |
1516 </varlistentry> | 1777 </varlistentry> |
1517 </variablelist> | 1778 </variablelist> |
1518 </listitem> | 1779 </listitem> |
1519 <listitem> | 1780 <listitem> |
1520 <para>このアノテーションを使用して、呼出し後に戻り値をチェックすべきメソッドを表すことができます。</para> | 1781 <para>このアノテーションを使用して、呼出し後に戻り値をチェックすべきメソッドを表すことができます。</para> |
1521 </listitem> | 1782 </listitem> |
1522 </varlistentry> | 1783 </varlistentry> |
1523 | 1784 |
1524 <varlistentry> | 1785 <varlistentry> |
1525 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotation</command></
term> | 1786 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotation</command></
term> |
1526 <listitem> | 1787 <listitem> |
| 1788 <para> |
1527 <command>[Target]</command> Type, Package | 1789 <command>[Target]</command> Type, Package |
| 1790 </para> |
1528 </listitem> | 1791 </listitem> |
1529 <listitem> | 1792 <listitem> |
1530 <variablelist> | 1793 <variablelist> |
1531 <varlistentry> | 1794 <varlistentry> |
1532 <term><command>[Parameter]</command></term> | 1795 <term><command>[Parameter]</command></term> |
1533 <listitem> | 1796 <listitem> |
1534 <para> | 1797 <para> |
1535 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> | 1798 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> |
1536 </listitem> | 1799 </listitem> |
1537 <listitem> | 1800 <listitem> |
1538 <para> | 1801 <para> |
1539 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> | 1802 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> |
1540 </listitem> | 1803 </listitem> |
1541 </varlistentry> | 1804 </varlistentry> |
1542 </variablelist> | 1805 </variablelist> |
1543 </listitem> | 1806 </listitem> |
1544 <listitem> | 1807 <listitem> |
1545 <para> | 1808 <para> |
1546 Indicates that all members of the class or package should be annotated with the
default | 1809 クラスまたはパッケージのすべてのメンバーが指定されたアノテーションクラスのデフォルト値でアノテートされることを指定することができます。 |
1547 value of the supplied annotation classes. This would be used for behavior annota
tions | 1810 この指定は @NonNull 、 @CheckForNull 、または @CheckReturnValueなどに使用する想定です。 |
1548 such as @NonNull, @CheckForNull, or @CheckReturnValue. In particular, you can us
e | 1811 具体的には、 クラスまたはパッケージに @DefaultAnnotation(NonNull.class) を指定した上で、 |
1549 @DefaultAnnotation(NonNull.class) on a class or package, and then use @Nullable
only | 1812 null を許容したいパラメーター、メソッドまたはフィールドにのみ @Nullable を指定するという使用方法があります。 |
1550 on those parameters, methods or fields that you want to allow to be null. | |
1551 </para> | 1813 </para> |
1552 </listitem> | 1814 </listitem> |
1553 </varlistentry> | 1815 </varlistentry> |
1554 | 1816 |
1555 <varlistentry> | 1817 <varlistentry> |
1556 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</c
ommand></term> | 1818 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForFields</c
ommand></term> |
1557 <listitem> | 1819 <listitem> |
| 1820 <para> |
1558 <command>[Target]</command> Type, Package | 1821 <command>[Target]</command> Type, Package |
| 1822 </para> |
1559 </listitem> | 1823 </listitem> |
1560 <listitem> | 1824 <listitem> |
1561 <variablelist> | 1825 <variablelist> |
1562 <varlistentry> | 1826 <varlistentry> |
1563 <term><command>[Parameter]</command></term> | 1827 <term><command>[Parameter]</command></term> |
1564 <listitem> | 1828 <listitem> |
1565 <para> | 1829 <para> |
1566 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> | 1830 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> |
1567 </listitem> | 1831 </listitem> |
1568 <listitem> | 1832 <listitem> |
1569 <para> | 1833 <para> |
1570 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> | 1834 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> |
1571 </listitem> | 1835 </listitem> |
1572 </varlistentry> | 1836 </varlistentry> |
1573 </variablelist> | 1837 </variablelist> |
1574 </listitem> | 1838 </listitem> |
1575 <listitem> | 1839 <listitem> |
1576 <para> | 1840 <para> |
1577 This is same as the DefaultAnnotation except it only applys to fields. | 1841 フィールドのみに適用されること以外は DefaultAnnotation と同様です。 |
1578 </para> | 1842 </para> |
1579 </listitem> | 1843 </listitem> |
1580 </varlistentry> | 1844 </varlistentry> |
1581 | 1845 |
1582 <varlistentry> | 1846 <varlistentry> |
1583 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</
command></term> | 1847 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForMethods</
command></term> |
1584 <listitem> | 1848 <listitem> |
| 1849 <para> |
1585 <command>[Target]</command> Type, Package | 1850 <command>[Target]</command> Type, Package |
| 1851 </para> |
1586 </listitem> | 1852 </listitem> |
1587 <listitem> | 1853 <listitem> |
1588 <variablelist> | 1854 <variablelist> |
1589 <varlistentry> | 1855 <varlistentry> |
1590 <term><command>[Parameter]</command></term> | 1856 <term><command>[Parameter]</command></term> |
1591 <listitem> | 1857 <listitem> |
1592 <para> | 1858 <para> |
1593 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> | 1859 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> |
1594 </listitem> | 1860 </listitem> |
1595 <listitem> | 1861 <listitem> |
1596 <para> | 1862 <para> |
1597 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> | 1863 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> |
1598 </listitem> | 1864 </listitem> |
1599 </varlistentry> | 1865 </varlistentry> |
1600 </variablelist> | 1866 </variablelist> |
1601 </listitem> | 1867 </listitem> |
1602 <listitem> | 1868 <listitem> |
1603 <para> | 1869 <para> |
1604 This is same as the DefaultAnnotation except it only applys to methods. | 1870 メソッドのみに適用されること以外は DefaultAnnotation と同様です。 |
1605 </para> | 1871 </para> |
1606 </listitem> | 1872 </listitem> |
1607 </varlistentry> | 1873 </varlistentry> |
1608 | 1874 |
1609 <varlistentry> | 1875 <varlistentry> |
1610 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameter
s</command></term> | 1876 <term><command>edu.umd.cs.findbugs.annotations.DefaultAnnotationForParameter
s</command></term> |
1611 <listitem> | 1877 <listitem> |
| 1878 <para> |
1612 <command>[Target]</command> Type, Package | 1879 <command>[Target]</command> Type, Package |
| 1880 </para> |
1613 </listitem> | 1881 </listitem> |
1614 <listitem> | 1882 <listitem> |
1615 <variablelist> | 1883 <variablelist> |
1616 <varlistentry> | 1884 <varlistentry> |
1617 <term><command>[Parameter]</command></term> | 1885 <term><command>[Parameter]</command></term> |
1618 <listitem> | 1886 <listitem> |
1619 <para> | 1887 <para> |
1620 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> | 1888 <command>value:</command>アノテーションクラスのclassオブジェクト。複数のクラスを指定することができます
。</para> |
1621 </listitem> | 1889 </listitem> |
1622 <listitem> | 1890 <listitem> |
1623 <para> | 1891 <para> |
1624 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> | 1892 <command>priority:</command>省略時の優先度を指定します (HIGH, MEDIUM, LOW, IGNO
RE) 。デフォルト値 :MEDIUM。</para> |
1625 </listitem> | 1893 </listitem> |
1626 </varlistentry> | 1894 </varlistentry> |
1627 </variablelist> | 1895 </variablelist> |
1628 </listitem> | 1896 </listitem> |
1629 <listitem> | 1897 <listitem> |
1630 <para> | 1898 <para> |
1631 This is same as the DefaultAnnotation except it only applys to method parameters
. | 1899 パラメーターのみに適用されること以外は DefaultAnnotation と同様です。 |
1632 </para> | 1900 </para> |
1633 </listitem> | 1901 </listitem> |
1634 </varlistentry> | 1902 </varlistentry> |
1635 | 1903 |
1636 <varlistentry> | 1904 <varlistentry> |
1637 <term><command>edu.umd.cs.findbugs.annotations.NonNull</command></term> | 1905 <term><command>edu.umd.cs.findbugs.annotations.NonNull</command></term> |
1638 <listitem> | 1906 <listitem> |
| 1907 <para> |
1639 <command>[Target]</command> Field, Method, Parameter | 1908 <command>[Target]</command> Field, Method, Parameter |
| 1909 </para> |
1640 </listitem> | 1910 </listitem> |
1641 <listitem> | 1911 <listitem> |
1642 <para>アノテーションをつけた要素は、 null であってはいけません。アノテーションをつけたフィールドは、構築完了後 null であってはいけ
ません。アノテーションをつけたメソッドは、 null ではない値を戻り値としなければなりません。</para> | 1912 <para>アノテーションをつけた要素は、 null であってはいけません。アノテーションをつけたフィールドは、構築完了後 null であってはいけ
ません。アノテーションをつけたメソッドは、 null ではない値を戻り値としなければなりません。</para> |
1643 </listitem> | 1913 </listitem> |
1644 </varlistentry> | 1914 </varlistentry> |
1645 | 1915 |
1646 <varlistentry> | 1916 <varlistentry> |
1647 <term><command>edu.umd.cs.findbugs.annotations.Nullable</command></term> | 1917 <term><command>edu.umd.cs.findbugs.annotations.Nullable</command></term> |
1648 <listitem> | 1918 <listitem> |
| 1919 <para> |
1649 <command>[Target]</command> Field, Method, Parameter | 1920 <command>[Target]</command> Field, Method, Parameter |
| 1921 </para> |
1650 </listitem> | 1922 </listitem> |
1651 <listitem> | 1923 <listitem> |
1652 <para>アノテーションをつけた要素は、 null であってはいけません。In general, this means developers wi
ll have to read the documentation to determine when a null value is acceptable a
nd whether it is neccessary to check for a null value. FindBugs will treat the a
nnotated items as though they had no annotation.</para> | |
1653 <para> | 1924 <para> |
1654 In pratice this annotation is useful only for overriding an overarching NonNull | 1925 アノテーションをつけた要素は、 条件により null である可能性があります。 |
1655 annotation. | 1926 一般に、開発者はドキュメントを読んで null 値を許容するかどうかまたは null 値をチェックするかどうかを決定する必要があります。 |
| 1927 FindBugs はこのアノテーションをつけた要素を、アノテーションがついていないものと同様に扱います。 |
| 1928 </para> |
| 1929 <para> |
| 1930 実際には、このアノテーションは NonNull をつけた要素をオーバーライドする場合に有用です。 |
1656 </para> | 1931 </para> |
1657 </listitem> | 1932 </listitem> |
1658 </varlistentry> | 1933 </varlistentry> |
1659 | 1934 |
1660 <varlistentry> | 1935 <varlistentry> |
1661 <term><command>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</command><
/term> | 1936 <term><command>edu.umd.cs.findbugs.annotations.OverrideMustInvoke</command><
/term> |
1662 <listitem> | 1937 <listitem> |
| 1938 <para> |
1663 <command>[Target]</command> Method | 1939 <command>[Target]</command> Method |
| 1940 </para> |
1664 </listitem> | 1941 </listitem> |
1665 <listitem> | 1942 <listitem> |
1666 <variablelist> | 1943 <variablelist> |
1667 <varlistentry> | 1944 <varlistentry> |
1668 <term><command>[Parameter]</command></term> | 1945 <term><command>[Parameter]</command></term> |
1669 <listitem> | 1946 <listitem> |
1670 <para> | 1947 <para> |
1671 <command>value:</command>Specify when the super invocation should
be | 1948 <command>value:</command>super の呼び出し箇所を指定します (FIRST, ANYTIME, LAST
)。 デフォルト値 :ANYTIME。 |
1672 performed (FIRST, ANYTIME, LAST). Default value:ANYTIME. | |
1673 </para> | 1949 </para> |
1674 </listitem> | 1950 </listitem> |
1675 </varlistentry> | 1951 </varlistentry> |
1676 </variablelist> | 1952 </variablelist> |
1677 </listitem> | 1953 </listitem> |
1678 <listitem> | 1954 <listitem> |
1679 <para> | 1955 <para> |
1680 Used to annotate a method that, if overridden, must (or should) be invoke super | 1956 オーバーライドされた場合にオーバーライドメソッド内で super を呼び出すべきメソッドにアノテートします。 |
1681 in the overriding method. Examples of such methods include finalize() and clone(
). | 1957 例えば、 finalize() や clone() がそのようなメソッドに該当します。 |
1682 The argument to the method indicates when the super invocation should occur: | 1958 引数は、 super の呼び出し箇所を指定します。すなわち、随時、メソッドの最初またはメソッドの最後です。 |
1683 at any time, at the beginning of the overriding method, or at the end of the ove
rriding method. | |
1684 (This anotation is not implmemented in FindBugs as of September 8, 2006). | |
1685 </para> | 1959 </para> |
1686 </listitem> | 1960 </listitem> |
1687 </varlistentry> | 1961 </varlistentry> |
1688 | 1962 |
1689 <varlistentry> | 1963 <varlistentry> |
1690 <term><command>edu.umd.cs.findbugs.annotations.PossiblyNull</command></term> | 1964 <term><command>edu.umd.cs.findbugs.annotations.PossiblyNull</command></term> |
1691 <listitem> | 1965 <listitem> |
1692 <para> | 1966 <para> |
1693 This annotation is deprecated. Use CheckForNull instead. | 1967 非推奨です。 CheckForNull を使用してください。 |
1694 </para> | 1968 </para> |
1695 </listitem> | 1969 </listitem> |
1696 </varlistentry> | 1970 </varlistentry> |
1697 | 1971 |
1698 <varlistentry> | 1972 <varlistentry> |
1699 <term><command>edu.umd.cs.findbugs.annotations.SuppressWarnings</command></t
erm> | 1973 <term><command>edu.umd.cs.findbugs.annotations.SuppressWarnings</command></t
erm> |
1700 <listitem> | 1974 <listitem> |
| 1975 <para> |
1701 <command>[Target]</command> Type, Field, Method, Parameter, Constructor, P
ackage | 1976 <command>[Target]</command> Type, Field, Method, Parameter, Constructor, P
ackage |
| 1977 </para> |
1702 </listitem> | 1978 </listitem> |
1703 <listitem> | 1979 <listitem> |
1704 <variablelist> | 1980 <variablelist> |
1705 <varlistentry> | 1981 <varlistentry> |
1706 <term><command>[Parameter]</command></term> | 1982 <term><command>[Parameter]</command></term> |
1707 <listitem> | 1983 <listitem> |
1708 <para> | 1984 <para> |
1709 <command>value:</command>The name of the warning. More than one na
me can be specified. | 1985 <command>value:</command>警告の名称。複数の名称を指定することができます。 |
1710 </para> | 1986 </para> |
1711 </listitem> | 1987 </listitem> |
1712 <listitem> | 1988 <listitem> |
1713 <para> | 1989 <para> |
1714 <command>justification:</command>Reason why the warning should be
ignored. デフォルト値 :""。</para> | 1990 <command>justification:</command>警告を無視する理由。 デフォルト値 :""。<
/para> |
1715 </listitem> | 1991 </listitem> |
1716 </varlistentry> | 1992 </varlistentry> |
1717 </variablelist> | 1993 </variablelist> |
1718 </listitem> | 1994 </listitem> |
1719 <listitem> | 1995 <listitem> |
1720 <para> | 1996 <para> |
1721 The set of warnings that are to be suppressed by the compiler in the annotated e
lement. | 1997 The set of warnings that are to be suppressed by the compiler in the annotated e
lement. |
1722 Duplicate names are permitted. The second and successive occurrences of a name
are ignored. | 1998 Duplicate names are permitted. The second and successive occurrences of a name
are ignored. |
1723 The presence of unrecognized warning names is <emphasis>not</emphasis> an error:
Compilers | 1999 The presence of unrecognized warning names is <emphasis>not</emphasis> an error:
Compilers |
1724 must ignore any warning names they do not recognize. They are, however, free to
emit a | 2000 must ignore any warning names they do not recognize. They are, however, free to
emit a |
1725 warning if an annotation contains an unrecognized warning name. Compiler vendors
should | 2001 warning if an annotation contains an unrecognized warning name. Compiler vendors
should |
1726 document the warning names they support in conjunction with this annotation type
. They | 2002 document the warning names they support in conjunction with this annotation type
. They |
1727 are encouraged to cooperate to ensure that the same names work across multiple c
ompilers. | 2003 are encouraged to cooperate to ensure that the same names work across multiple c
ompilers. |
1728 </para> | 2004 </para> |
1729 </listitem> | 2005 </listitem> |
1730 </varlistentry> | 2006 </varlistentry> |
1731 | 2007 |
1732 <varlistentry> | 2008 <varlistentry> |
1733 <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></te
rm> | 2009 <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></te
rm> |
1734 <listitem> | 2010 <listitem> |
| 2011 <para> |
1735 <command>[Target]</command> Field, Method, Parameter | 2012 <command>[Target]</command> Field, Method, Parameter |
| 2013 </para> |
1736 </listitem> | 2014 </listitem> |
1737 <listitem> | 2015 <listitem> |
1738 <para> | 2016 <para> |
1739 Used to indicate that the nullness of the target is unknown, or my vary in unkno
wn ways in subclasses. | 2017 Used to indicate that the nullness of the target is unknown, or my vary in unkno
wn ways in subclasses. |
1740 </para> | 2018 </para> |
1741 </listitem> | 2019 </listitem> |
1742 </varlistentry> | 2020 </varlistentry> |
1743 | 2021 |
1744 <varlistentry> | 2022 <varlistentry> |
1745 <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></te
rm> | 2023 <term><command>edu.umd.cs.findbugs.annotations.UnknownNullness</command></te
rm> |
1746 <listitem> | 2024 <listitem> |
| 2025 <para> |
1747 <command>[Target]</command> Field, Method, Parameter | 2026 <command>[Target]</command> Field, Method, Parameter |
| 2027 </para> |
1748 </listitem> | 2028 </listitem> |
1749 <listitem> | 2029 <listitem> |
1750 <para> | 2030 <para> |
1751 Used to indicate that the nullness of the target is unknown, or my vary in unkno
wn ways in subclasses. | 2031 Used to indicate that the nullness of the target is unknown, or my vary in unkno
wn ways in subclasses. |
1752 </para> | 2032 </para> |
1753 </listitem> | 2033 </listitem> |
1754 </varlistentry> | 2034 </varlistentry> |
1755 </variablelist> | 2035 </variablelist> |
1756 | 2036 |
1757 <para>また、 &FindBugs; 次に示すアノテーションもサポートしています。 :<itemizedlist> | 2037 <para>また、 &FindBugs; 次に示すアノテーションもサポートしています。 :<itemizedlist> |
1758 <listitem>net.jcip.annotations.GuardedBy</listitem> | 2038 <listitem><para>net.jcip.annotations.GuardedBy</para></listitem> |
1759 <listitem>net.jcip.annotations.Immutable</listitem> | 2039 <listitem><para>net.jcip.annotations.Immutable</para></listitem> |
1760 <listitem>net.jcip.annotations.NotThreadSafe</listitem> | 2040 <listitem><para>net.jcip.annotations.NotThreadSafe</para></listitem> |
1761 <listitem>net.jcip.annotations.ThreadSafe</listitem> | 2041 <listitem><para>net.jcip.annotations.ThreadSafe</para></listitem> |
1762 </itemizedlist> | 2042 </itemizedlist> |
1763 </para> | 2043 </para> |
1764 <para><ulink url="http://jcip.net/">Java Concurrency in Practice</ulink> の <ulin
k url="http://jcip.net/annotations/doc/index.html"> API ドキュメント</ulink> を参照してください
。</para> | 2044 <para><ulink url="http://jcip.net/">Java Concurrency in Practice</ulink> の <ulin
k url="http://jcip.net/annotations/doc/index.html"> API ドキュメント</ulink> を参照してください
。</para> |
1765 </chapter> | 2045 </chapter> |
1766 | 2046 |
1767 <!-- | 2047 <!-- |
1768 ************************************************************************** | 2048 ************************************************************************** |
1769 Using rejarForAnalysis | 2049 Using rejarForAnalysis |
1770 ************************************************************************** | 2050 ************************************************************************** |
1771 --> | 2051 --> |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2009 <row><entry>-last <when></entry> <entry>last="<when>&q
uot;</entry> <entry>指定したバージョンが出現した最後である警告のみ出力されます。</entry></row> | 2289 <row><entry>-last <when></entry> <entry>last="<when>&q
uot;</entry> <entry>指定したバージョンが出現した最後である警告のみ出力されます。</entry></row> |
2010 <row><entry>-fixed <when></entry> <entry>fixed="<when>&
quot;</entry> <entry>指定したバージョンの前回のバージョンが出現した最後である警告のみ出力されます。 (<optio
n>-last</option> に優先します)。</entry></row> | 2290 <row><entry>-fixed <when></entry> <entry>fixed="<when>&
quot;</entry> <entry>指定したバージョンの前回のバージョンが出現した最後である警告のみ出力されます。 (<optio
n>-last</option> に優先します)。</entry></row> |
2011 <row><entry>-present <when></entry> <entry>present="<when>
;"</entry> <entry>指定したバージョンに存在する警告のみ出力されます。</entry></row> | 2291 <row><entry>-present <when></entry> <entry>present="<when>
;"</entry> <entry>指定したバージョンに存在する警告のみ出力されます。</entry></row> |
2012 <row><entry>-absent <when></entry> <entry>absent="<when>
"</entry> <entry>指定したバージョンに存在しない警告のみ出力されます。</entry></row> | 2292 <row><entry>-absent <when></entry> <entry>absent="<when>
"</entry> <entry>指定したバージョンに存在しない警告のみ出力されます。</entry></row> |
2013 <row><entry>-active[:truth]</entry> <entry>active="[true|false]
"</entry> <entry>最終通番に存在する警告のみ出力されます。</entry></row> | 2293 <row><entry>-active[:truth]</entry> <entry>active="[true|false]
"</entry> <entry>最終通番に存在する警告のみ出力されます。</entry></row> |
2014 <row><entry>-introducedByChange[:truth]</entry> <entry>introducedByChange="
[true|false]"</entry><entry>存在するクラスの変更によってもたらされた警告のみ出力されます。</entry></row> | 2294 <row><entry>-introducedByChange[:truth]</entry> <entry>introducedByChange="
[true|false]"</entry><entry>存在するクラスの変更によってもたらされた警告のみ出力されます。</entry></row> |
2015 <row><entry>-removedByChange[:truth]</entry> <entry>removedByChange="[tr
ue|false]"</entry> <entry>存在するクラスの変更によって除去された警告のみ出力されます。</entry></row> | 2295 <row><entry>-removedByChange[:truth]</entry> <entry>removedByChange="[tr
ue|false]"</entry> <entry>存在するクラスの変更によって除去された警告のみ出力されます。</entry></row> |
2016 <row><entry>-newCode[:truth]</entry> <entry>newCode="[true|false
]"</entry> <entry>新クラスの追加によってもたらされた警告のみ出力されます。</entry></row> | 2296 <row><entry>-newCode[:truth]</entry> <entry>newCode="[true|false
]"</entry> <entry>新クラスの追加によってもたらされた警告のみ出力されます。</entry></row> |
2017 <row><entry>-removedCode[:truth]</entry> <entry>removedCode="[true|f
alse]"</entry> <entry>クラスの削除によって除去された警告のみ出力されます。</entry></row> | 2297 <row><entry>-removedCode[:truth]</entry> <entry>removedCode="[true|f
alse]"</entry> <entry>クラスの削除によって除去された警告のみ出力されます。</entry></row> |
2018 <row><entry>-priority <level></entry> <entry>priority="<level&
gt;"</entry> <entry>指定した優先度以上の優先度をもつ警告のみ出力されます。</entry></row> | 2298 <row><entry>-priority <level></entry> <entry>priority="<level&
gt;"</entry> <entry>指定した優先度以上の優先度をもつ警告のみ出力されます。</entry></row> |
| 2299 <row><entry>-maxRank <rank></entry> <entry>rank="[1..20]"</entry>
<entry>allow only warnings with this rank or lower</entry></row> |
2019 <row><entry>-class <pattern></entry> <entry>class="<class>
"</entry> <entry>指定したパターンに一致する主クラスをもつ警告のみ出力されます。</entry></row> | 2300 <row><entry>-class <pattern></entry> <entry>class="<class>
"</entry> <entry>指定したパターンに一致する主クラスをもつ警告のみ出力されます。</entry></row> |
2020 <row><entry>-bugPattern <pattern></entry> <entry>bugPattern="<patt
ern>"</entry> <entry>指定したパターンに一致するバグ種別をもつ警告のみ出力されます。</entry></row> | 2301 <row><entry>-bugPattern <pattern></entry> <entry>bugPattern="<patt
ern>"</entry> <entry>指定したパターンに一致するバグ種別をもつ警告のみ出力されます。</entry></row> |
2021 <row><entry>-category <category></entry> <entry>category="<catego
ry>"</entry> <entry>指定した文字列で始まるカテゴリーの警告のみ出力されます。</entry></row> | 2302 <row><entry>-category <category></entry> <entry>category="<catego
ry>"</entry> <entry>指定した文字列で始まるカテゴリーの警告のみ出力されます。</entry></row> |
2022 <row><entry>-designation <designation></entry> <entry>designation="&l
t;designation>"</entry> <entry>指定したバグ分類指定をもつ警告のみ出力されます。 (例、 -designation
SHOULD_FIX)</entry></row> | 2303 <row><entry>-designation <designation></entry> <entry>designation="&l
t;designation>"</entry> <entry>指定したバグ分類指定をもつ警告のみ出力されます。 (例、 -designation
SHOULD_FIX)</entry></row> |
2023 <row><entry>-withMessages[:truth] </entry> <entry>withMessages="[true|
false]"</entry> <entry>テキストメッセージを含んだ XML が生成されます。</entry></row> | 2304 <row><entry>-withMessages[:truth] </entry> <entry>withMessages="[true|
false]"</entry> <entry>テキストメッセージを含んだ XML が生成されます。</entry></row> |
2024 </tbody> | 2305 </tbody> |
2025 </tgroup> | 2306 </tgroup> |
2026 </table> | 2307 </table> |
2027 | 2308 |
2028 </sect2> | 2309 </sect2> |
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2576 <para>Phil Crosby enhanced the Eclipse plugin to add a view | 2857 <para>Phil Crosby enhanced the Eclipse plugin to add a view |
2577 to display the bug details.</para> | 2858 to display the bug details.</para> |
2578 | 2859 |
2579 <para>Dave Brosius fixed a number of bugs, added user preferences | 2860 <para>Dave Brosius fixed a number of bugs, added user preferences |
2580 to the Swing GUI, improved several bug detectors, and | 2861 to the Swing GUI, improved several bug detectors, and |
2581 contributed the string concatenation detector.</para> | 2862 contributed the string concatenation detector.</para> |
2582 | 2863 |
2583 <para>Thomas Klaeger contributed a number of bug fixes and | 2864 <para>Thomas Klaeger contributed a number of bug fixes and |
2584 bug detector improvements.</para> | 2865 bug detector improvements.</para> |
2585 | 2866 |
2586 <para>Andrei Loskutov made a number of improvements to the | 2867 <para>Andrey Loskutov made a number of bug fixes and |
2587 Eclipse plugin.</para> | 2868 bug detector improvements. He is maintainer of the Eclipse plugin.</para> |
2588 | 2869 |
2589 <para>Brian Goetz contributed a major refactoring of the | 2870 <para>Brian Goetz contributed a major refactoring of the |
2590 visitor classes to improve readability and understandability.</para> | 2871 visitor classes to improve readability and understandability.</para> |
2591 | 2872 |
2592 <para> Pete Angstadt fixed several problems in the Swing GUI.</para> | 2873 <para> Pete Angstadt fixed several problems in the Swing GUI.</para> |
2593 | 2874 |
2594 <para>Francis Lalonde provided a task resource file for the | 2875 <para>Francis Lalonde provided a task resource file for the |
2595 FindBugs Ant task.</para> | 2876 FindBugs Ant task.</para> |
2596 | 2877 |
2597 <para>Garvin LeClaire contributed support for output in | 2878 <para>Garvin LeClaire contributed support for output in |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2797 </blockquote> | 3078 </blockquote> |
2798 | 3079 |
2799 </sect2> | 3080 </sect2> |
2800 | 3081 |
2801 </sect1> | 3082 </sect1> |
2802 | 3083 |
2803 </chapter> | 3084 </chapter> |
2804 | 3085 |
2805 | 3086 |
2806 </book> | 3087 </book> |
OLD | NEW |