Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: doc/manual_ja.xml

Issue 594833004: Roll FindBugs from 2.0.3 to 3.0.0 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/findbugs.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « doc/manual/running.html ('k') | doc/performance.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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>&#x25;FINDBUGS_HOME&#x25;</replaceable>"> 8 <!ENTITY FBHomeWin "<replaceable>&#x25;FINDBUGS_HOME&#x25;</replaceable>">
9 <!ENTITY nbsp "&#160;"> 9 <!ENTITY nbsp "&#160;">
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;&trade; マニュアル</title> 14 <title>&FindBugs;&trade; マニュアル</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;&trade; は、Java プログラムの中のバグを見つけるプログラムです。このプログラムは、「バグ パターン」の実例を探します 。「バグ パターン」とは、エラーとなる可能性の高いコードの事例です。</para> 54 <para>&FindBugs;&trade; は、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;&trade; のインストール</title> 74 <title>&FindBugs;&trade; のインストール</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&gt;</prompt><command>unzip findbugs-2.0.3.zip</command> 89 <prompt>C:\Software&gt;</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;&trade; のソールからのビルド</title> 105 <title>&FindBugs;&trade; のソールからのビルド</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
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
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
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
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
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
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
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;&trade; Eclipse プラグインの使用方法</title> 1082 <title>&FindBugs;&trade; 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」サブディレクトリーに入れてくださ い。(そうすると、 &lt;eclipse インストールディレクトリー &gt;/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」サブディレクトリーに入れてくださ い。(そうすると、 &lt;eclipse インストールディレクトリー &gt;/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
1117 <sect1> 1277 <sect1>
1118 <title>マッチング条件の種類</title> 1278 <title>マッチング条件の種類</title>
1119 1279
1120 <variablelist> 1280 <variablelist>
1121 <varlistentry> 1281 <varlistentry>
1122 <term><literal>&lt;Bug&gt;</literal></term> 1282 <term><literal>&lt;Bug&gt;</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>&lt;Bug&gt;</literal> 要素に上記の属性を複数指定した場合は、バグ パターン名、バグ略称、バグカテゴリーのいずれか1つでも該当すれば、バグパターンは合致すると判定されます。</para><para>下位互換性を持たせたい場合は、 <literal>&lt;Bug&gt;</literal> 要素の代わりに <literal>&lt;BugPattern&gt;</literal> 要素 および <literal>&lt;BugCode&gt;</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>&lt;Bug&gt;</literal> 要素に上記の属性を複数指定した場合は、バグ パターン名、バグ略称、バグカテゴリーのいずれか1つでも該当すれば、バグパターンは合致すると判定されます。</para><para>下位互換性を持たせたい場合は、 <literal>&lt;Bug&gt;</literal> 要素の代わりに <literal>&lt;BugPattern&gt;</literal> 要素 および <literal>&lt;BugCode&gt;</literal> 要素を使用してください。これらの要素はそれぞれ、 <literal>name</l iteral> 属性で値のリストを指定します。これらの要素は、将来サポートされなくなる可能性があります。</para></listitem>
1124 </varlistentry> 1284 </varlistentry>
1125 1285
1126 <varlistentry> 1286 <varlistentry>
1287 <term><literal>&lt;Confidence&gt;</literal></term>
1288 <listitem>
1289 <para>
1290 この要素は、特定のバグ信頼度をもつ警告を照合します。
1291 <literal>value</literal> 属性には、整数値を指定します。すなわち 1 は信頼度(高) 、また、 2 は信頼度(中 ) 、 3 は信頼度(低) を示します。
1292 &lt;Confidence&gt; は 2.0.0 リリースから &lt;Priority&gt; の後継として取って代わりました。
1293 </para>
1294 </listitem>
1295 </varlistentry>
1296
1297 <varlistentry>
1127 <term><literal>&lt;Priority&gt;</literal></term> 1298 <term><literal>&lt;Priority&gt;</literal></term>
1128 <listitem> 1299 <listitem>
1129 <para>この要素は、特定の優先度をもつ警告を照合します。<literal>value</literal> 属性には、整数値を指定します : 1 は優先度(高)、また、 2 は優先度(中) 、 3 は優先度(低) を示します。</para> 1300 <para>
1301 <literal>&lt;Confidence&gt;</literal> と同一です。下位互換性を保つため残されています。
1302 </para>
1130 </listitem> 1303 </listitem>
1131 </varlistentry> 1304 </varlistentry>
1132 1305
1306 <varlistentry>
1307 <term><literal>&lt;Rank&gt;</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>&lt;Package&gt;</literal></term> 1319 <term><literal>&lt;Package&gt;</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>&lt;Class&gt;</literal></term> 1326 <term><literal>&lt;Class&gt;</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>&lt;Source&gt;</literal></term>
1338 <listitem>
1339 <para>
1340 この要素は、特定のソースファイルに関連した警告を照合します。
1341 <literal>name</literal> 属性を使用して、照合するソースファイル名をソースファイル名そのものか、または、正規表現で 指定します。
1342 </para>
1343 </listitem>
1344 </varlistentry>
1345
1346 <varlistentry>
1153 <term><literal>&lt;Method&gt;</literal></term> 1347 <term><literal>&lt;Method&gt;</literal></term>
1154 1348
1155 <listitem><para>この要素は、メソッドを指定します。<literal>name</literal> 属性を使用して、照合するメソッド名をメソ ッド名そのものか、または、正規表現で指定します。<literal>params</literal> 属性には、コンマ区切りでメソッド引数の型のリストを指定します 。<literal>returns</literal> 属性にはメソッドの戻り値の型を指定します。<literal>params</literal> および < literal>returns</literal> においては、クラス名は完全修飾名である必要があります。(例えば、単に &quot;String&quot; ではなく &quot;java.lang.String&quot; としてください。) <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> においては、クラス名は完全修飾名である必要があります。(例えば、単に &quot;String&quot; ではなく &quot;java.lang.String&quot; としてください。) <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>&lt;Field&gt;</literal></term> 1353 <term><literal>&lt;Field&gt;</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>&lt;Local&gt;</literal></term> 1359 <term><literal>&lt;Local&gt;</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>&lt;Or&gt;</literal></term> 1365 <term><literal>&lt;Or&gt;</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>&lt;And&gt;</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>&lt;Not&gt;</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
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
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
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>戻り値をチェックしなけばならない理由をテキストで説明します。デフォルト 値 :&quot;&quot;。</para> 1775 <command>explanation:</command>戻り値をチェックしなけばならない理由をテキストで説明します。デフォルト 値 :&quot;&quot;。</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. デフォルト値 :&quot;&quot;。</para> 1990 <command>justification:</command>警告を無視する理由。 デフォルト値 :&quot;&quot;。< /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
2009 <row><entry>-last &lt;when&gt;</entry> <entry>last=&quot;&lt;when&gt;&q uot;</entry> <entry>指定したバージョンが出現した最後である警告のみ出力されます。</entry></row> 2289 <row><entry>-last &lt;when&gt;</entry> <entry>last=&quot;&lt;when&gt;&q uot;</entry> <entry>指定したバージョンが出現した最後である警告のみ出力されます。</entry></row>
2010 <row><entry>-fixed &lt;when&gt;</entry> <entry>fixed=&quot;&lt;when&gt;& quot;</entry> <entry>指定したバージョンの前回のバージョンが出現した最後である警告のみ出力されます。 (<optio n>-last</option> に優先します)。</entry></row> 2290 <row><entry>-fixed &lt;when&gt;</entry> <entry>fixed=&quot;&lt;when&gt;& quot;</entry> <entry>指定したバージョンの前回のバージョンが出現した最後である警告のみ出力されます。 (<optio n>-last</option> に優先します)。</entry></row>
2011 <row><entry>-present &lt;when&gt;</entry> <entry>present=&quot;&lt;when&gt ;&quot;</entry> <entry>指定したバージョンに存在する警告のみ出力されます。</entry></row> 2291 <row><entry>-present &lt;when&gt;</entry> <entry>present=&quot;&lt;when&gt ;&quot;</entry> <entry>指定したバージョンに存在する警告のみ出力されます。</entry></row>
2012 <row><entry>-absent &lt;when&gt;</entry> <entry>absent=&quot;&lt;when&gt; &quot;</entry> <entry>指定したバージョンに存在しない警告のみ出力されます。</entry></row> 2292 <row><entry>-absent &lt;when&gt;</entry> <entry>absent=&quot;&lt;when&gt; &quot;</entry> <entry>指定したバージョンに存在しない警告のみ出力されます。</entry></row>
2013 <row><entry>-active[:truth]</entry> <entry>active=&quot;[true|false] &quot;</entry> <entry>最終通番に存在する警告のみ出力されます。</entry></row> 2293 <row><entry>-active[:truth]</entry> <entry>active=&quot;[true|false] &quot;</entry> <entry>最終通番に存在する警告のみ出力されます。</entry></row>
2014 <row><entry>-introducedByChange[:truth]</entry> <entry>introducedByChange=&quot; [true|false]&quot;</entry><entry>存在するクラスの変更によってもたらされた警告のみ出力されます。</entry></row> 2294 <row><entry>-introducedByChange[:truth]</entry> <entry>introducedByChange=&quot; [true|false]&quot;</entry><entry>存在するクラスの変更によってもたらされた警告のみ出力されます。</entry></row>
2015 <row><entry>-removedByChange[:truth]</entry> <entry>removedByChange=&quot;[tr ue|false]&quot;</entry> <entry>存在するクラスの変更によって除去された警告のみ出力されます。</entry></row> 2295 <row><entry>-removedByChange[:truth]</entry> <entry>removedByChange=&quot;[tr ue|false]&quot;</entry> <entry>存在するクラスの変更によって除去された警告のみ出力されます。</entry></row>
2016 <row><entry>-newCode[:truth]</entry> <entry>newCode=&quot;[true|false ]&quot;</entry> <entry>新クラスの追加によってもたらされた警告のみ出力されます。</entry></row> 2296 <row><entry>-newCode[:truth]</entry> <entry>newCode=&quot;[true|false ]&quot;</entry> <entry>新クラスの追加によってもたらされた警告のみ出力されます。</entry></row>
2017 <row><entry>-removedCode[:truth]</entry> <entry>removedCode=&quot;[true|f alse]&quot;</entry> <entry>クラスの削除によって除去された警告のみ出力されます。</entry></row> 2297 <row><entry>-removedCode[:truth]</entry> <entry>removedCode=&quot;[true|f alse]&quot;</entry> <entry>クラスの削除によって除去された警告のみ出力されます。</entry></row>
2018 <row><entry>-priority &lt;level&gt;</entry> <entry>priority=&quot;&lt;level& gt;&quot;</entry> <entry>指定した優先度以上の優先度をもつ警告のみ出力されます。</entry></row> 2298 <row><entry>-priority &lt;level&gt;</entry> <entry>priority=&quot;&lt;level& gt;&quot;</entry> <entry>指定した優先度以上の優先度をもつ警告のみ出力されます。</entry></row>
2299 <row><entry>-maxRank &lt;rank&gt;</entry> <entry>rank="[1..20]"</entry> <entry>allow only warnings with this rank or lower</entry></row>
2019 <row><entry>-class &lt;pattern&gt;</entry> <entry>class=&quot;&lt;class&gt; &quot;</entry> <entry>指定したパターンに一致する主クラスをもつ警告のみ出力されます。</entry></row> 2300 <row><entry>-class &lt;pattern&gt;</entry> <entry>class=&quot;&lt;class&gt; &quot;</entry> <entry>指定したパターンに一致する主クラスをもつ警告のみ出力されます。</entry></row>
2020 <row><entry>-bugPattern &lt;pattern&gt;</entry> <entry>bugPattern=&quot;&lt;patt ern&gt;&quot;</entry> <entry>指定したパターンに一致するバグ種別をもつ警告のみ出力されます。</entry></row> 2301 <row><entry>-bugPattern &lt;pattern&gt;</entry> <entry>bugPattern=&quot;&lt;patt ern&gt;&quot;</entry> <entry>指定したパターンに一致するバグ種別をもつ警告のみ出力されます。</entry></row>
2021 <row><entry>-category &lt;category&gt;</entry> <entry>category=&quot;&lt;catego ry&gt;&quot;</entry> <entry>指定した文字列で始まるカテゴリーの警告のみ出力されます。</entry></row> 2302 <row><entry>-category &lt;category&gt;</entry> <entry>category=&quot;&lt;catego ry&gt;&quot;</entry> <entry>指定した文字列で始まるカテゴリーの警告のみ出力されます。</entry></row>
2022 <row><entry>-designation &lt;designation&gt;</entry> <entry>designation=&quot;&l t;designation&gt;&quot;</entry> <entry>指定したバグ分類指定をもつ警告のみ出力されます。 (例、 -designation SHOULD_FIX)</entry></row> 2303 <row><entry>-designation &lt;designation&gt;</entry> <entry>designation=&quot;&l t;designation&gt;&quot;</entry> <entry>指定したバグ分類指定をもつ警告のみ出力されます。 (例、 -designation SHOULD_FIX)</entry></row>
2023 <row><entry>-withMessages[:truth] </entry> <entry>withMessages=&quot;[true| false]&quot;</entry> <entry>テキストメッセージを含んだ XML が生成されます。</entry></row> 2304 <row><entry>-withMessages[:truth] </entry> <entry>withMessages=&quot;[true| false]&quot;</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
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
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>
OLDNEW
« no previous file with comments | « doc/manual/running.html ('k') | doc/performance.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698