changeset 933:8ff039c98991

. Add in JP manual pages, copied from the Linux version.
author glewis@misty.eyesbeyond.com
date Sat, 28 Feb 2009 21:47:53 -0800
parents c6c88cfd6860
children bed3652b956c
files src/bsd/doc/man/ja/appletviewer.1 src/bsd/doc/man/ja/apt.1 src/bsd/doc/man/ja/extcheck.1 src/bsd/doc/man/ja/idlj.1 src/bsd/doc/man/ja/jar.1 src/bsd/doc/man/ja/jarsigner.1 src/bsd/doc/man/ja/java.1 src/bsd/doc/man/ja/javac.1 src/bsd/doc/man/ja/javadoc.1 src/bsd/doc/man/ja/javah.1 src/bsd/doc/man/ja/javap.1 src/bsd/doc/man/ja/javaws.1 src/bsd/doc/man/ja/jconsole.1 src/bsd/doc/man/ja/jdb.1 src/bsd/doc/man/ja/jhat.1 src/bsd/doc/man/ja/jinfo.1 src/bsd/doc/man/ja/jmap.1 src/bsd/doc/man/ja/jps.1 src/bsd/doc/man/ja/jrunscript.1 src/bsd/doc/man/ja/jsadebugd.1 src/bsd/doc/man/ja/jstack.1 src/bsd/doc/man/ja/jstat.1 src/bsd/doc/man/ja/jstatd.1 src/bsd/doc/man/ja/keytool.1 src/bsd/doc/man/ja/kinit.1 src/bsd/doc/man/ja/klist.1 src/bsd/doc/man/ja/ktab.1 src/bsd/doc/man/ja/native2ascii.1 src/bsd/doc/man/ja/orbd.1 src/bsd/doc/man/ja/pack200.1 src/bsd/doc/man/ja/policytool.1 src/bsd/doc/man/ja/rmic.1 src/bsd/doc/man/ja/rmid.1 src/bsd/doc/man/ja/rmiregistry.1 src/bsd/doc/man/ja/schemagen.1 src/bsd/doc/man/ja/serialver.1 src/bsd/doc/man/ja/servertool.1 src/bsd/doc/man/ja/tnameserv.1 src/bsd/doc/man/ja/unpack200.1 src/bsd/doc/man/ja/wsgen.1 src/bsd/doc/man/ja/wsimport.1 src/bsd/doc/man/ja/xjc.1
diffstat 42 files changed, 20024 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/appletviewer.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,78 @@
+.'" t
+."
+." Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+."
+." This code is free software; you can redistribute it and/or modify it
+." under the terms of the GNU General Public License version 2 only, as
+." published by the Free Software Foundation.
+."
+." This code is distributed in the hope that it will be useful, but WITHOUT
+." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+." version 2 for more details (a copy is included in the LICENSE file that
+." accompanied this code).
+."
+." You should have received a copy of the GNU General Public License version
+." 2 along with this work; if not, write to the Free Software Foundation,
+." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+."
+." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+." 
+." `
+.TH appletviewer 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+." Generated by html2roff
+
+.LP
+.SH 名前
+appletviewer \- Java アプレットビューア
+.LP
+
+.LP
+.LP
+\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。
+.LP
+.SH "形式"
+.LP
+
+.LP
+.LP
+\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ...
+.LP
+.SH "機能説明"
+.LP
+
+.LP
+.LP
+\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注:\f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html
+の
+.na
+「\f2AppletViewer Tags\fP」を参照してください。
+.LP
+.LP
+\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.TP 3
+\-debug 
+Java デバッガ \f3jdb\fP でアプレットビューアを開始します。 これにより、ドキュメント中のアプレットをデバッグすることができます。 
+.TP 3
+\-encoding \  \ encoding name 
+入力 HTML ファイルのエンコーディング名を指定します。 
+.TP 3
+\-Jjavaoption 
+文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数に空白文字を含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリの利用に有効です。 
+.LP
+.LP
+
+.LP
+
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/apt.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,180 @@
+'\" t
+.\"
+.\" Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\" 
+.\"
+.\" 
+.TH apt 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.SH "名前"
+apt \- 注釈処理ツール
+.\"
+.SH "形式"
+.B apt 
+.BI [\-classpath " classpath"]
+.BI [\-sourcepath " sourcepath"]
+.BI [\-d " directory"]
+.BI [\-s " directory"]
+.BI [\-factorypath " path"]
+.BI [\-factory " class"]
+.B [\-print]
+.B [\-nocompile]
+.B [\-Akey[=val] ...]
+.BI [javac option]
+.BI sourcefiles
+.BI [@files]
+.SH "パラメータ" 
+オプションは任意の順序で使用できます。特定のオプションに適用される
+パラメータについては、後述の「オプション」を参照してください。
+.if t .TP 20
+.if n .TP 15
+.I sourcefiles
+処理される 0 個以上のソースファイル。
+.if t .TP 20
+.if n .TP 15
+.I @files
+ソースファイルまたはその他のオプションをリストする 1 個以上のファイル。
+.SH "機能説明"
+注釈処理ツール
+.B apt 
+には、プログラム注釈を処理するための一連の
+新しいリフレクション API とインフラストラクチャサポートが含まれています。
+.B apt 
+のリフレクション API では、プログラム構造のビューが、
+ビルド時のソースベースの読み取り専用として用意されています。
+これらのリフレクション API は、総称型の追加後に、
+Java(TM) プログラミング言語の型システムを
+わかりやすくモデル化できるように設計されました。
+はじめに、
+.B apt 
+は注釈プロセッサを実行します。この注釈プロセッサでは、
+新規のソースコードおよびその他のファイルを生成します。
+次に、オリジナルのソースファイルと生成したソースファイルの両方をコンパイルし、
+開発を容易にします。ツールと対話するためのリフレクション API と
+その他の API は、
+.B com.sun.mirror 
+のサブパッケージです。
+.LP
+.B apt 
+によるツールの操作方法と開発手順についての詳細は、
+http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html
+の「Getting Started with apt」を参照してください。
+.LP
+.TP 3
+注: 
+\f2apt\fP\f2 の機能\fPは標準の注釈処理インフラストラクチャに組み込まれました。この標準のインフラストラクチャは、今では \f2javac\fP ツール [
+.na
+\f2Solaris と Linux\fP の場合: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [
+.na
+\f2Windows\fP の場合: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] の一部となり、すべての Java コンパイラで使用できるように標準化されています。この新しいインフラストラクチャは、Java プラットフォームの一部となった言語モデルと注釈処理 API に依存しています。新しい注釈プロセッサの開発は、この新しい API と \f2javac\fP ツールに基づいて行うことをお勧めします。
+.LP
+.SH "オプション"
+.SS apt 固有のオプション
+.if t .TP 20
+.if n .TP 15
+.BI \-s " dir"
+プロセッサが生成するソースファイルが配置されるディレクトリルートを
+指定します。ファイルはパッケージのネームスペースに従って、
+サブディレクトリに配置されます。
+.if t .TP 20
+.if n .TP 15
+.BI \-nocompile
+ソースファイルをクラスファイルにコンパイルしません。
+.if t .TP 20
+.if n .TP 15
+.BI \-print
+指定した型のテキスト表現を出力します。
+注釈処理やコンパイルは実行しません。
+.if t .TP 20
+.if n .TP 15
+.BI \-A[key[=val]]
+注釈プロセッサに渡されるオプション。
+.B apt 
+は、これらのオプションを直接解釈しませんが、個別のプロセッサ
+によって使用可能になります。
+.if t .TP 20
+.if n .TP 15
+.BI \-factorypath " path" 
+注釈プロセッサファクトリを検索する場所を指定します。
+このオプションを使用する場合、ファクトリの検索に
+クラスパスは使用されません。
+.if t .TP 20
+.if n .TP 15
+.BI \-factory " classname"
+使用する注釈プロセッサファクトリの名前。
+デフォルトの検出処理はバイパスされます。
+.SS javac と共有されるオプション
+.if t .TP 20
+.if n .TP 15
+.BI \-d " dir"
+プロセッサおよび 
+.B javac 
+が生成したクラスファイルを配置する場所を指定します。
+.if t .TP 20
+.if n .TP 15
+.BI \-cp " path " \fLまたは\fP \fL\-classpath " path"
+ユーザクラスファイルおよび注釈プロセッサファクトリを検索する場所を
+指定します。
+.B \-factorypath 
+を指定した場合、ファクトリの検索にクラスパスは使用されません。
+.LP
+javac のオプションについては、
+.BR javac(1) 
+のマニュアルページを参照してください。
+.SH 注意事項
+.LP
+\f2apt\fP の機能は、\f2javac\fP が提供するようになった標準の注釈処理インフラストラクチャに組み込まれました。\f2apt\fP とその関連 API のサポートは、JDK の将来のリリースで打ち切られる可能性があります。
+.LP
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+*
+javac: [
+.na
+\f2Solaris と Linux\fP の場合: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] 
+[ \f2Windows\fP の場合: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] 
+.TP 2
+*
+java: [
+.na
+\f2Solaris\fP の場合: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [
+.na
+\f2Linux\fP の場合: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] 
+[ \f2Windows\fP の場合: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html] 
+.RE
+
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/extcheck.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,109 @@
+'\" t
+.\"
+.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\"
+.\" `
+'\"macro stdmacro
+.TH extcheck 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.SH "名前"
+extcheck \- jar の競合検出ユーティリティ
+.LP
+
+.LP
+.LP
+\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。
+.LP
+.SH "形式"
+.B extcheck 
+[ 
+.B \-verbose 
+] 
+.B targetfile.jar
+.SH "機能説明"
+.IX "jar conflict detection utility" "" "jar conflict detection utility \(em \fLextcheck\fP"
+.IX "extcheck" "" "\fLextcheck\fP \(em jar conflict detection utility"
+.B extcheck 
+ユーティリティは、指定された
+.B jar
+ファイルのタイトルおよびバージョンが Java(TM) SDK 
+ソフトウェアにインストールされている拡張機能と競合していないかを
+検査します。
+拡張機能をインストールする前に、このユーティリティを使って、
+バージョンが同じか、
+より新しい拡張機能がすでにインストールされていないかどうかを調べる
+ことができます。
+.LP
+.B extcheck
+ユーティリティは、
+.I targetfile.jar
+ファイルのマニフェスト内のヘッダ
+.I Specification-title 
+および 
+.I Specification-version
+を、拡張機能ディレクトリ内に現在インストールされているすべての jar 
+ファイル内の対応するヘッダと比較します。
+デフォルトでは、拡張機能ディレクトリは、
+.I jre/lib/ext
+です。
+.B extcheck 
+ユーティリティは、
+.I java.lang.Package.isCompatibleWith
+メソッドと同様の方法でバージョン番号を比較します。
+.LP
+競合が検出されない場合、リターンコードは
+.I 0 です。
+.LP
+拡張機能ディレクトリ内の 
+.B jar 
+ファイルのマニフェストに、同一の 
+.I Specification-title、
+および同一またはより新しい 
+.I Specification-version 
+番号がある場合、ゼロでないエラー
+コードが返されます。
+.I targetfile.jar 
+のマニフェストに 
+.I Specification-title 
+または 
+.I Specification-version 
+属性がない場合も、ゼロでないエラーコードが返されます。
+.SH "オプション"
+以下のオプションが指定できます。
+.TP 15
+.B -verbose
+拡張機能ディレクトリ内の
+.B jar
+ファイルを、検査時に一覧表示します。また、ターゲット 
+.B jar
+ファイルのマニフェストの属性、および競合する
+.B jar
+ファイルについても報告します。
+.TP 15
+.BI \-J "option"
+.I option
+を Java 仮想マシンに渡します。ここで、
+.I option
+は、Java アプリケーション起動プログラム java(1) のマニュアルページで
+説明されているオプションの 1 つです。たとえば、-J-Xms48m
+は、起動時に使用するメモリを 48M バイトに設定します。
+.SH "関連項目"
+.BR jar (1)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/idlj.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,876 @@
+'\" t
+.\"
+.\" Copyright 2001-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\" 
+.\"
+.\" 
+.TH idlj 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.SH "名前"
+idlj - IDL-to-Java コンパイラ
+.LP
+.B idlj
+は、指定された IDL ファイルから Java バインディングを生成します。
+.SH "形式"
+.B idlj
+[
+.IB options
+]
+.B idl-file
+.LP
+.BR idl-file
+には、Interface Definition Language (IDL) 定義が格納されている
+ファイルの名前を指定します。
+.BR Options
+は任意の順序で指定できますが、
+.BR idl-file
+よりも前に指定する必要があります。
+.SH "機能説明"
+IDL-to-Java コンパイラは、指定された IDL ファイルに対して Java 
+バインディングを生成します。
+バインディングの詳細は、「\f2OMG IDL to Java Language Language Mapping Specification\fP」
+.fi
+(http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html) 
+を参照してください。
+IDL-to-Java コンパイラの旧リリースのなかには、
+.BR idltojava という名前が付けられていたものがあります。
+.SH "クライアントバインディングとサーババインディングの発行"
+
+.LP
+.BR My.idl
+という名前の IDL ファイルに対して Java バインディングを生成
+するには、次のように指定します。
+.LP
+.RS
+.ft 3
+.nf
+idlj My.idl
+.fi
+.ft 1
+.RE
+.LP
+クライアント側のバインディングを生成する上記のコマンドは、
+次のようにも指定できます。
+.LP
+.RS
+.ft 3
+.nf
+idlj -fclient My.idl
+.fi
+.ft 1
+.RE
+.LP
+クライアント側のバインディングには、サーバ側のスケルトンは
+取り込まれていません。インタフェースに対してサーバ側のバインディング
+を生成するには、次のように指定します。
+.LP
+.RS
+.ft 3
+.nf
+idlj -fserver My.idl
+.fi
+.ft 1
+.RE
+.LP
+サーバ側のバインディングには、クライアント側のバインディングのほか
+にスケルトンが取り込まれています。これらはすべて、POA (継承モデル) 
+クラスです。クライアント側とサーバ側の両方のバインディングを生成する
+には、以下の等価コマンドのどちらか一方を使用してください。
+.LP
+.RS
+.ft 3
+.nf
+idlj -fclient -fserver My.idl
+.br
+idlj -fall My.idl
+.fi
+.ft 1
+.RE
+.LP
+サーバ側モデルとしては、継承モデルと Tie 委譲モデルの 2 種類を
+利用できます。
+.LP
+デフォルトのサーバ側モデルは、ポータブルサーバント継承モデルです。
+.BR My.idl
+でインタフェース My が定義されていると、ファイル 
+.BR MyPOA.java が生成されます。ユーザは、
+.BR My に対してその実装を提供する必要があります。この実装は、
+.BR MyPOA から継承しなければなりません。
+.LP
+.BR MyPOA.java は、
+.na
+\f2org.omg.PortableServer.Servant\fP 
+.fi
+(http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html) 
+を拡張するストリームベースのスケルトンであり、このスケルトンが実装する 
+IDL インタフェースに関連した
+.BR InvokeHandler
+インタフェースとオペレーションインタフェースを実装します。
+.LP
+.na
+\f2Portable Object Adapter (POA)\fP
+.fi
+(http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html) の
+.BR PortableServer 
+モジュールは、ネイティブ Servant 型を定義します。Java プログラミング言語では、
+.BR Servant
+型は、Java 
+.BR org.omg.PortableServer.Servant
+クラスにマップされます。
+これはすべての
+.BR POA
+サーバント実装の基底クラスとして機能し、アプリケーション開発者が呼び出せる
+多数のメソッドを提供します。また、POA 自体が呼び出したり、サーバント動作を
+制御するためにユーザが上書きしたりできるメソッドも提供します。
+.LP
+継承モデルには、J2SE 1.4 より前のバージョンの Java プログラミング言語
+と互換性のあるサーバ側バインディングを生成するために
+.BR -oldImplBase
+フラグを使用するというオプションもあります。
+\f2\-oldImplBase\fP フラグの使用は非標準であることに注意してください。これらの API はまもなく非推奨となります。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバとの互換性を確保する必要がある場合だけにしてください。その場合、既存の MAKEFILE を変更し、\f2\-oldImplBase\fP フラグを \f2idlj\fP コンパイラに追加する必要があります。そうしないと、POA ベースのサーバ側マッピングが生成されてしまいます。
+下位互換を維持したサーバ側
+バインディングを生成するには、次のように指定します。
+.LP
+.RS
+.ft 3
+.nf
+idlj -fclient -fserver -oldImplBase My.idl
+.br
+idlj -fall -oldImplBase My.idl
+.fi
+.ft 1
+.RE
+.LP
+.BR My.idl
+内でインタフェース My が定義されていると、ファイル 
+.I _MyImpleBase.java
+が生成されます。ユーザは、
+.BR My
+に対してその実装を提供する必要があります。この実証は、
+.I _MyImplBase
+ から継承しなければなりません。
+.LP
+もう一方のサーバ側モデルは、Tie モデルと呼ばれます。これは、
+委譲モデルです。Tie モデルは Tie とスケルトンを同時には生成
+できないため、これらは別々に生成する必要があります。次のコ
+マンドは、Tie モデルに対してバインディングを生成します。
+.LP
+.RS
+.ft 3
+.nf
+idlj -fall My.idl
+.br
+idlj -fallTIE My.idl
+.fi
+.ft 1
+.RE
+.LP
+インタフェース 
+.BR My
+の場合、2 つめのコマンドは 
+.BR MyPOATie.java
+ を生成します。
+.BR MyPOATie
+のコンストラクタは、delegate を受け取ります。
+この例ではデフォルトの POA モデルを使用しているので、コンストラクタは \f2poa\fP も必要とします。
+ユーザは、delegate 
+に対して実装を提供する必要があります。ただし、インタフェース 
+.BR MyOperations
+を継承すればよく、ほかのクラスから継承する必要はありません。
+しかし、この実装を ORB と共に使用するには、
+.BR MyPOATie 
+内に実装をラップする必要があります。例を示します。
+.nf
+\f3
+.fl
+    ORB orb = ORB.init(args, System.getProperties());
+.fl
+
+.fl
+    // rootpoa への参照を取得し、POAManager を有効にします
+.fl
+    POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
+.fl
+    rootpoa.the_POAManager().activate();
+.fl
+
+.fl
+    // サーバントを作成し、それを ORB に登録します
+.fl
+    MyServant myDelegate = new MyServant();
+.fl
+    myDelegate.setORB(orb); 
+.fl
+
+.fl
+    // Tie を作成します。サーバントが delegate になります。
+.fl
+    MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
+.fl
+
+.fl
+    // Tie の objectRef を取得します
+.fl
+    My ref = tie._this(orb);
+.fl
+\fP
+.fi
+
+.LP
+実装をほかの実装から継承しなければならない場合は、標準の継承モデル
+の代わりに Tie モデルを使用することもできます。Java は任意の数の
+インタフェース継承を認めていますが、クラスの継承に使用できる
+スロットは 1 つだけです。継承モデルを使用すると、このスロットが占
+有されます。Tie モデルを使用すると、スロットをユーザ自身の使用の
+ために解放できます。ただし、一定レベルの間接参照を引き起こすと
+いう欠点があります。つまり、メソッドを呼び出すと、余分なメソッド呼
+び出しが 1 つ発生します。
+.LP
+1.4 よりも前の J2SE バージョンで IDL-to-Java 言語
+マッピングのバージョンと互換性があるサーバ側の Tie モデルバインディングを生成
+するには、次のように指定します。
+.LP
+.RS
+.ft 3
+.nf
+idlj -oldImplBase -fall My.idl
+.br
+idlj -oldImplBase -fallTIE My.idl
+.fi
+.ft 1
+.RE
+.LP
+インタフェース
+.BR My
+の場合、このコマンドは
+.I My_Tie.java
+を生成します。
+.I My_Tie
+のコンストラクタは、
+.BR impl
+を受け取ります。ユーザは、
+.BR impl
+に対して実装を提供する必要があります。ただし、インタフェース 
+.BR HelloOperations
+を継承すればよく、ほかのクラスから継承する必要はありません。
+しかし、この実装を ORB と共に使用するには、
+.BR My_Tie
+ 内に実装をラップする必要があります。例を示します。
+.LP
+.nf
+\f3
+.fl
+    ORB orb = ORB.init(args, System.getProperties());
+.fl
+
+.fl
+    // サーバントを作成し、それを ORB に登録します
+.fl
+    MyServant myDelegate = new MyServant();
+.fl
+    myDelegate.setORB(orb); 
+.fl
+
+.fl
+    // Tie を作成します。サーバントが delegate になります。
+.fl
+    MyPOATie tie = new MyPOATie(myDelegate);
+.fl
+
+.fl
+    // Tie の objectRef を取得します
+.fl
+    My ref = tie._this(orb);
+.fl
+\fP
+.fi
+
+.LP
+.SH "発行されたファイルの代替場所の指定"
+.br
+発行されたファイルを現在のディレクトリ以外のディレクトリに保存したい場合は、
+次のようにコンパイラを呼び出してください。
+.LP
+.RS
+.ft 3
+.nf
+idlj -td /altdir My.idl
+.fi
+.ft 1
+.RE
+.LP
+インタフェース 
+.BR My
+の場合、バインディングは
+.BR ./My.java
+ ではなく 
+.BR /altdir/My.java
+などに対して発行されます。
+.SH "インクルードファイルの代替場所の指定"
+.BR My.idl
+にほかの idl ファイル、
+.BR MyOther.idl 
+が取り込まれている場合、コンパイラは 
+.BR MyOther.idl 
+がローカルディレクトリに存在すると見なします。たとえば、
+.BR MyOther.idl 
+が 
+.BR /includes
+に存在する場合は、次のコマンドでコンパイラを呼び出します。
+.LP
+.RS
+.ft 3
+.nf
+idlj -i /includes My.idl
+.fi
+.ft 1 
+.RE
+.LP
+.BR たとえば、My.idl が
+.BR /moreIncludes
+に存在する
+.BR Another.idl 
+も取り込んでいる場合は、次のコマンドでコンパイラを呼び出します。
+.LP
+.RS
+.ft 3
+.nf
+idlj -i /includes -i /moreIncludes My.idl
+.fi
+.ft 1 
+.RE
+.LP
+この形式でファイルを取り込むと、コマンドが非常に長くなることがあります。
+このため、インクルードファイルの検索場所をコンパイラに知らせる方法が
+別に用意されています。この方法は、環境変数の概念に似ています。まず、
+CLASSPATH にリストされているディレクトリ内に、
+.BR idl.config
+という名前のファイルを作成します。そして、
+.BR idl.config
+内に次の形式の行を 1 つ作成します。
+.LP
+.RS
+.ft 3
+.nf
+includes=/includes;/moreIncludes
+.fi
+.ft 1 
+.RE
+.LP
+コンパイラはこのファイルを見つけ、インクルードリストに読み込みます。
+この例では 2 つのディレクトリ間の区切り文字はセミコロン (;) であること
+に注意してください。
+この区切り文字はプラットフォームによって異なります。Windows プラットフォームではセミコロンを使用し、UNIX プラットフォームではコロンを使用する、などのようになります。
+インクルードの詳
+細は、
+.na
+\f2CLASSPATH\ のドキュメント (Solaris: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) 
+(Windows: 
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html) 
+を参照してください。
+.SH "インクルードファイルに対するバインディングの発行"
+デフォルトでは、コマンド行 idl ファイルに定義されているインタフェース、
+構造体などに対してのみ、Java バインディングが生成されます。インクルード
+ファイルに定義されているタイプの Java バインディングは生成されません。
+例として、次の 2 つの idl ファイルを考えてみましょう。
+.TP
+.B My.idl
+.LP
+.RS
+#include <MyOther.idl> 
+.br
+interface My 
+.br
+{ 
+.br
+}; 
+.RE
+.TP
+.B MyOther.idl
+.LP
+.RS
+interface MyOther 
+.br
+{ 
+.br
+};
+.RE
+.LP
+次のコマンドは、
+.BR My
+に対する Java バインディングしか生成しません。
+.LP
+.RS
+.ft 3
+.nf
+idlj My.idl
+.fi
+.ft 1
+.RE
+.LP
+.BR My.idl
+内に定義されているすべてのタイプ、および 
+.BR My.idl
+に取り込まれているファイル (この例では 
+.BR MyOther.idl
+) 内に定義されているすべてのタイプを生成するには、
+次のコマンドを使用してください。
+.LP
+.RS
+.ft 3
+.nf
+idlj -emitAll My.idl 
+.fi
+.ft 1
+.RE
+.LP
+このデフォルトの規則については、次の点に注意する必要があります。
+グローバルスコープに出現する 
+.BR #include
+文は、記述どおりに処理されます。これらの 
+.BR #include
+文は、インポート文と見なすことができます。一部の囲みスコープ内に
+出現する #include 文は、通常の 
+.BR #include
+文として扱われます。つまり、インクルードファイル内のコードは
+オリジナルファイル内に出現しているかのように扱われ、これに
+対して Java バインディングが発行されます。例を示します。
+.TP
+.B My.idl
+.LP
+.RS
+#include <MyOther.idl> 
+.br
+interface My 
+.br
+{ 
+.br
+  #include <Embedded.idl> 
+.br
+}; 
+.RE
+.TP
+.B MyOther.idl
+.LP
+.RS
+interface MyOther 
+.br
+{ 
+.br
+}; 
+.RE
+.TP
+.B Embedded.idl
+.LP
+.RS
+enum E {one, two, three};
+.RE
+.LP
+次のコマンドを実行すると、
+.LP
+.RS
+.ft 3
+.nf
+idlj My.idl
+.fi
+.ft 1
+.RE
+.LP
+以下の Java ファイルのリストが生成されます。
+.LP
+.B ./MyHolder.java\fP
+.br
+.B ./MyHelper.java\fP
+.br
+.B ./_MyStub.java\fP
+.br
+.B ./MyPackage\fP
+.br
+.B ./MyPackage/EHolder.java\fP
+.br
+.B ./MyPackage/EHelper.java\fP
+.br
+.B ./MyPackage/E.java\fP
+.br
+.B ./My.java\fP
+.LP
+.BR MyOther.java
+は生成されないことに注意してください。これは、インポートに類似した
+.BR #include
+で定義されているためです。しかし、通常の
+.BR #include
+に定義された 
+.BR E.java
+は生成されます。
+.BR Embedded.idl
+はインタフェース My のスコープ内に取り込まれているため、
+.BR My
+のスコープ内 (つまり 
+.BR MyPackage
+) に生成されます。
+.LP
+上記の例で 
+.BI -emitAll
+フラグが使用されていた場合は、すべてのインクルードファイル内に
+定義されているすべてのタイプが発行されます。
+.SH "パッケージ接頭辞の挿入"
+あなたが次の IDL ファイルを作成した ABC という名の企業に勤務していると
+仮定してください。
+.TP
+.B Widgets. idl
+module Widgets 
+.br
+{ 
+.br
+  interface W1 {...}; 
+.br
+  interface W2 {...}; 
+.br
+}; 
+.LP
+このファイルに対して IDL-to-Java コンパイラを実行すると、パッケージ
+Widgets 内の W1 と W2 に対して Java バインディングが生成されます。
+しかし、業界規約では、企業のパッケージは 
+.BR com.<company name>
+という名前のパッケージ内に配置しなければならないと規定されています。
+そのため、この 
+.BR Widgets
+パッケージのままでは不十分です。規定に従うには、
+.BR com.abc.Widgets
+でなければなりません。
+.BR Widgets
+モジュールにこのパッケージ接頭辞を配置するには、次のコマンドを
+実行してください。
+.LP
+.RS
+.ft 3
+.nf
+idlj -pkgPrefix Widgets com.abc Widgets.idl
+.fi
+.ft 1
+.RE
+.LP
+.BR Widgets.idl 
+を取り込んでいる IDL ファイルが存在する場合は、そのコマンド内にも 
+.BI \-pkgPrefix 
+フラグを指定する必要があります。このフラグを指定しないと、IDL ファイルは
+.BR com.abc.Widgets
+パッケージではなく 
+.BR Widgets
+パッケージを検索します。
+.LP
+接頭辞を必要とするこれらのパッケージが多数存在する場合は、前述した 
+.BR idl.config
+ファイルに配置する方が簡単でしょう。各パッケージ接頭辞行は、次の書式で記述します。
+.LP
+.RS
+.ft 3
+.nf
+PkgPrefix.<type>=<prefix>
+.fi
+.ft 1
+.RE
+.LP
+この書式に従うと、上記例の行は次のようになります。
+.LP
+.RS
+.ft 3
+.nf
+PkgPrefix.Widgets=com.abc
+.fi
+.ft 1
+.RE
+.LP
+このオプションを使用しても、リポジトリ ID には影響を与えません。
+.SH "コンパイル前のシンボルの定義"
+バインディング内にデバッグコードを取り込む場合などに IDL ファイル内
+にコンパイル用のシンボルが定義されていないときは、それらのシンボル
+を定義する必要があることがあります。次のコマンド
+.LP
+.RS
+.ft 3
+.nf
+idlj -d MYDEF My.idl
+.fi
+.ft 1
+.RE
+.LP
+は、My.idl 内に 
+.BR #define
+.BR MYDEF
+という行を含めるのと同じです。
+.SH "既存のバインディングの保持"
+Java バインディングファイルが既に存在する場合は、
+.BI \-keep 
+フラグを使用してコンパイラによる上書きを防止できます。デフォルトでは、
+既に存在するかどうかにかかわらずすべてのファイルが生成されます。
+ファイルをカスタマイズ (カスタマイズはその内容がよほど適切でない限り推奨
+されません) してある場合は、
+.BI \-keep 
+オプションが非常に役立ちます。次のコマンド
+.LP
+.RS
+.ft 3
+.nf
+idlj -keep My.idl
+.fi
+.ft 1
+.RE
+.LP
+は、まだ存在していないすべてのクライアント側バインディングを発行します。
+.SH "コンパイルの進捗の表示"
+IDL-to-Java コンパイラは、その実行段階でステータスメッセージを
+生成します。この生成を詳細 (verbose) モードにするには、
+.BR -v
+オプションを使用してください。
+.LP
+.RS
+.ft 3
+.nf
+idlj -v My.idl
+.fi
+.ft 1
+.RE
+.LP
+デフォルトでは、コンパイラは詳細モードで動作しません。
+.SH "バージョン情報の表示"
+IDL-to-Java コンパイラのビルドバージョンを表示するには、コマンド行で
+.BI \-version
+オプションを指定してください。
+.LP
+.RS
+.ft 3
+.nf
+idlj -version 
+.fi
+.ft 1
+.RE
+.LP
+コンパイラが生成したバインディング内に、バージョン情報も表示されます。
+コマンド行に指定されるその他のオプションは無視されます。
+.SH "オプション"
+.TP
+.BI \-d " symbol"
+これは、IDL ファイルに次の行を指定するのと同じです。
+.LP
+.RS
+.ft 3
+.nf
+#define symbol
+.fi
+.ft 1
+.RE
+.TP
+.BI \-emitAll
+.BR #include
+ファイル内に指定されているものも含め、すべてのタイプを発行します。
+.TP
+.BI \-fside
+発行するバインディングを定義します。
+.BI side
+には、
+.BR client
+、
+.BR server
+、
+.BR serverTIE
+、
+.BR all
+、
+.BR allTIE
+のうちいずれか 1 つを指定します。
+.BR -fserverTIE
+と 
+.BR -fallTIE
+オプションを指定すると、委譲モデルスケルトンが発行されます。
+フラグを指定しない場合は、
+.BR -fclient
+と見なされます。
+.TP
+.BI \-i " include-path"
+デフォルトでは、現在のディレクトリでインクルードファイルが
+検索されます。このオプションを使用すると、ほかのディレクトリを
+追加できます。 
+.TP
+.BI \-keep
+生成されるファイルが既に存在する場合、既存ファイルを上書きしません。
+デフォルトでは、既存ファイルが上書きされます。
+.TP
+.BI \-noWarn
+警告メッセージを表示しないようにします。
+.TP
+.BI \-oldImplBase
+1.4 より前の JDK ORB と互換性のあるスケルトンを生成します。
+デフォルトでは、POA 継承モデルのサーバ側バインディングが生成されます。
+このオプションは、
+.BR ImplBase
+継承モデルクラスであるサーバ側バインディングを生成することによって、
+旧バージョンの Java プログラミング言語との下位互換性を提供します。
+.TP
+.BI \-pkgPrefix " type prefix"
+ファイルスコープで 
+.BI type 
+が検出された場合、そのタイプに対して生成されるすべてのファイルについて、
+生成される Java パッケージ名に
+.BI prefix 
+という接頭辞を付けます。
+.BI type 
+は、トップレベルモジュールの単純名か、モジュールの外部で定義された 
+IDL タイプの単純名です。
+.TP
+.BI \-pkgTranslate " type package"
+特定の識別子内でモジュール名 \f2type\fP が見つかった場合、生成された Java パッケージ内のすべてのファイルに対して、その識別子内のモジュール名を \f2package\fP で置き換えます。
+.BR pkgPrefix 
+変更が初めに行われることに注意してください。
+.BI type 
+はトップレベルモジュールの単純名か、モジュールの外部で定義された IDL タイプの
+単純名のいずれかであり、パッケージのフルネームと正確に一致する必要があります。
+
+.LP
+特定の識別子に一致する変換が 2 つ以上見つかった場合、もっとも長い一致が選択されます。たとえば、引数を次のように指定したとします。
+.nf
+\f3
+.fl
+  \-pkgTranslate foo bar \-pkgTranslate foo.baz buzz.fizz
+.fl
+\fP
+.fi
+.LP
+このとき、次の変換が実行されます。
+.nf
+\f3
+.fl
+foo          => bar
+.fl
+foo.boo      => bar.boo
+.fl
+foo.baz      => buzz.fizz
+.fl
+foo.baz.bar  => buzz.fizz.bar
+.fl
+\fP
+.fi
+.LP
+次のパッケージ名は変換できません。
+.RS 3
+.TP 2
+*
+\f2org\fP 
+.TP 2
+*
+\f2org.omg\fP または \f2org.omg\fP のサブパッケージ
+.RE
+.LP
+これらのパッケージの変換を試みると、コンパイル不可能なコードが生成されます。
+これらのパッケージを 
+.BR \-pkgTranslate
+の後の最初の引数として使用すると、エラーとして扱われます。
+.RE
+.TP
+.BI \-skeletonName " xxx%yyy"
+.BI xxx%yyy
+をスケルトンの名前付けのパターンとして使用します。デフォルトは次のとおりです。
+.LP
+.RS
+.TP 2
+\(bu POA 基底クラス 
+(
+.BR \-fserver
+または
+.BR \-fall
+) の場合、%POA
+.TP 2
+\(bu 
+.BR \-oldImplBase
+クラス (
+.BR \-oldImplBase
+および、
+.BR \-fserver
+または
+.BR \-fall
+) の場合、_%ImplBase
+.RE
+.TP
+.BI \-td " dir"
+出力ディレクトリとして、現在のディレクトリではなく
+.BI dir
+を使用します。
+.TP
+.BI \-tieName " xxx%yyy"
+パターンに応じて Tie に名前を付けます。デフォルトは次のとおりです。
+.LP
+.RS
+.TP 2
+\(bu POA Tie 基底クラス (
+.BR \-fserverTie
+または 
+.BR \-fallTie
+) の場合、%POATie
+.TP 2
+\(bu 
+.BR oldImplBase Tie
+クラス (
+.BR \-oldImplBase
+および、
+.BR \-fserverTie
+または
+.BR \-fallTie
+のいずれか) の場合、%_Tie
+.RE
+.TP
+.BI \-nowarn, \-verbose
+詳細モードにします。
+.TP
+.BI \-version
+バージョン情報を表示して終了します。
+.LP
+オプションの詳細は、「機能説明」の節を参照してください。
+.SH "制限事項"
+.LP
+.TP 2
+\(bu グローバルスコープ内でエスケープされた識別子は、
+IDL プリミティブ型 (
+.BR Object 
+または 
+.BR ValueBase
+) と同じスペルであってはなりません。これは、シンボルテーブルがこれらの
+識別子を使用してすでにロードされているためです。これらを定義し直すと、
+それらの本来の定義を上書きすることになります (この制限は永続的に
+適用される見込み)。
+.TP 2
+\(bu IDL の fixed 型はサポートされていません。
+.SH "既知の問題"
+.LP
+
+.LP
+.RS 3
+.TP 2
+*
+グローバル識別子のインポートは生成されません。エクスポートされていないローカル実装を呼び出すと例外が発生しますが、その原因はおそらく \f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP です。
+.RE
+
+.LP
+
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/jar.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,925 @@
+'\" t
+.\"
+.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\"
+.\" `
+.TH jar 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.SH "名前"
+jar \- Java アーカイブツール
+.LP
+\f3jar\fP は複数のファイルを 1 つの Java Archive (JAR) ファイルに結合します。
+.\" 
+.\"  This document was created by saving an HTML file as text
+.\"  from the JavaSoft web site:
+.\" 
+.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
+.\" 
+.\"  and adding appropriate troff macros.  Because the JavaSoft web site 
+.\"  man pages can change without notice, it may be helpful to diff
+.\"  files to identify changes other than new functionality. 
+.\" 
+.SH "形式"
+.LP
+
+.LP
+.TP 3
+jar ファイルの作成 
+\f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP 
+.TP 3
+jar ファイルの更新 
+\f4jar u\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP 
+.TP 3
+jar ファイルの抽出 
+\f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
+.TP 3
+jar ファイルの内容の一覧を作成
+\f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
+.TP 3
+jar ファイルにインデックスを追加
+\f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP 
+.LP
+.LP
+パラメータ
+.LP
+.RS 3
+
+.LP
+.TP 3
+cuxtiv0Mmfe 
+.I jar 
+コマンドを制御するオプション。
+.TP 3
+ jarfile 
+作成 (c)、更新 (u)、抽出 (x)、または閲覧される内容の一覧を作成 (t) する
+jar ファイルです。
+.I \-f 
+オプションとファイル名
+.I jarfile 
+は対になっています。
+使用する場合は、両方を一緒に使用します。
+.I f 
+および 
+.I jarfile 
+を省略すると、標準入力から「jar ファイル」が
+使用されたり (x および t の場合)、標準出力にこの「jar ファイル」が
+送信されたりします (c および u の場合)。
+.TP 3
+
+inputfiles 
+.I jar ファイル
+に結合 (c および u の場合)、または 
+.I jar ファイル
+から抽出 (x の場合) または一覧表示 (t の場合) されるファイル
+またはディレクトリ。空白文字で区切ります。
+すべてのディレクトリは再帰的に処理されます。
+オプション 0 (ゼロ) が使用されない場合は、ファイルが圧縮されます。
+.TP 3
+ manifest 
+jar ファイルの MANIFEST.MF に含めようとする名前:値ペアが含まれている
+既存の manifest ファイルです。
+.I \-m 
+オプションと
+.I manifest 
+のファイル名は対になっています。
+使用する場合は、両方を一緒に使用します。
+文字 
+.B m 
+、 
+.B f 
+、および 
+.B e 
+の出現順序は、
+.I manifest 
+、 
+.I jarfile 
+、および 
+.I entrypoint 
+の出現順序と一致する必要があります。
+.TP 3
+
+entrypoint 
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして設定するクラスの名前。
+.I \-e
+オプションと entrypoint は対になっています。どちらかを指定する場合は両方とも指定する必要があります。文字 
+.I m
+、
+.I f
+、
+.I e
+の出現順序は 
+.I manifest
+、
+.I jarfile
+、
+.I entrypoint
+の出現順序と一致する必要があります。 
+.TP 3
+\-C\ dir 
+後続の入力ファイル引数の処理中、
+ディレクトリを 
+.I dir 
+に一時的に変更します。
+複数の 
+.I \-C " dir" 
+入力ファイルのセットを使用できます。
+.TP 3
+\-Joption 
+Java Runtime Environment に渡されるオプション
+(
+.I \-J 
+と
+.I option 
+の間には空白文字を入れないでください)。
+.SH "機能説明"
+.IX "Java archive tool" "" "Java archive tool \(em \fLjar\fP"
+.IX "jar" "" "\fLjar\fP \(em Java archive tool"
+.B jar
+ツールは
+Java 
+アプリケーションの
+1
+つで、複数個のファイルを
+1
+個の
+JAR
+アーカイブファイルに統合します。また、
+jar は汎用的なアーカイブ作成用
+および圧縮用のツールでもあり、圧縮は
+.SM ZIP
+または
+.I ZLIB
+.fi
+ (http://www.gzip.org/zlib/) 
+形式で行います。
+ただし
+.B jar
+ツールの主な目的は、いくつかの
+Java
+アプレットやアプリケーションを
+1
+個のアーカイブに統合することです。
+アプレットやアプリケーションのコンポーネント、たとえば
+クラスファイル、イメージ、サウンドなどを単一のアーカイブに
+まとめると、ブラウザのような
+Java
+エージェントにダウンロードするときに、一度の
+HTTP
+トランザクションで済みます。コンポーネントごとに
+新たに接続する必要がありません。
+これによりダウンロード時間が大幅に短縮できます。
+また
+.B jar
+はファイルの圧縮も行うので、ダウンロードがより高速になります。
+さらに、ファイル中の個々のエントリに対してアプレットの作成者が
+署名できるので、作成元を明確化できます。
+.B jar
+ツールの構文は、
+.I tar
+コマンドの構文とほぼ同一です。
+.B jar
+アーカイブは、圧縮されているかどうかにかかわらず、
+クラスパス
+.fi
+ (http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) 
+エントリとして使用できます。
+.LP
+複数のファイルを jar ファイルに統合する標準的な使い方は次のとおりです。
+.LP
+.RS
+.ft 3
+.nf
+% jar cf myFile.jar *.class
+.fi
+.ft 1
+.RE
+.LP
+この例では、現在のディレクトリ中のすべてのクラスファイルが
+.I myFile.jar
+という名前のファイルに置かれます。
+jar ツールは自動的に、
+.I META\-INF/MANIFEST.MF
+という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを
+.I name : value
+ペアとして格納します。jar ツールがマニフェストファイル内にメタ情報を格納する方法の詳細については、
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest
+の
+.na
+「JAR file specification」を参照してください。 
+.LP
+既存のマニフェストファイル内に格納された 
+.I name : value
+ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% jar cmf myManifestFile myFile.jar *.class
+.fl
+\fP
+.fi
+.RE
+
+.LP
+既存のマニフェストファイルは改行文字で終わっている必要があります。\  マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。
+.br
+
+.LP
+.br
+
+.LP
+\f3注:\ \fP コマンド行に 
+.I cmf
+ではなく 
+.I cfm
+が指定された jar コマンド (m と \-f オプションの順番を逆にする) の場合、\f3jar\fP コマンド行にまず jar アーカイブの名前を指定し、続いてマニフェストファイルの名前を指定する必要があります。次に例を示します。 
+.LP
+.RS 5
+.B % jar cfm myFile.jar myManifestFile *.class
+.RE
+.LP
+manifest は RFC822 
+.SM ASCII 
+形式に基づいたテキスト形式を使用するため、manifest ファイルの内容は
+簡単に表示および処理できます。
+.LP
+jar ファイルからファイルを抽出する場合は、
+.I x 
+を使用します。次に例を示します。
+.LP
+.RS 5
+% jar xf myFile.jar
+.RE
+.LP
+jar ファイルから個別のファイルを抽出する場合は、
+そのファイル名を指定します。
+.LP
+.RS 5
+% jar xf myFile.jar foo bar
+.RE
+.LP
+JDK のバージョン 1.3 から、jar ユーティリティで 
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
+の「
+.I JarIndex
+」をサポートするようになりました。
+これにより、
+アプリケーションのクラスローダは、jar ファイルから
+クラスをより高速に読み込めるようになりました。
+アプリケーションまたはアプレットが複数の jar ファイルに
+バンドルされている場合、必要な jar ファイルだけがダウン
+ロードされて開かれ、クラスが読み込まれます。
+このパフォーマンスの最適化は、
+.I jar
+を 
+.I \-i
+オプションを使用して実行すると有効になります。
+指定した
+メインの jar ファイルおよびそのファイルが依存している
+すべての jar ファイルのパッケージ位置情報が生成されます。
+これらの情報は、メイン jar ファイルの manifest の 
+.I Class-Path 
+属性で
+指定する必要があります。
+.LP
+.RS 5
+% jar i main.jar
+.RE
+.LP
+この例では、
+.I INDEX.LIST 
+ファイルが 
+.I main.jar 
+の
+.I META-INF ディレクトリに追加されます。
+アプリケーションのクラスローダでは、このファイルに格納された情報を
+使用して、クラスのロードを高速化します。
+インデックスファイルに位置情報を格納する方法の詳細は、
+「JarIndex 仕様」を参照してください。
+.br
+.br
+ディレクトリをコピーするには、まず 
+.I dir1
+内のファイルを圧縮して標準出力に出力し、続いて標準入力から 
+.I dir2
+に抽出します (両方の 
+.I jar
+コマンドから
+.I \-f
+オプションを省く)。次に例を示します。
+.LP
+.RS 5
+% (cd dir1; jar c .) | (cd dir2; jar x)
+.RE
+.LP
+.I jar
+を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、
+.fi
+http://java.sun.com/docs/books/tutorial/jar
+の
+.na
+「Java Tutorial」の JAR コースも参照してください。
+.SH "オプション"
+.if t .TP 10
+.if n .TP 5
+.B c
+新規のアーカイブファイルを 
+.I jarfile 
+という名前 (
+.I f 
+を指定した場合)、または標準出力上に (
+.I f 
+と 
+.I jarfile 
+を省略した場合) 作成します。
+アーカイブには入力ファイルで指定したファイルおよびディレクトリが追加されます。
+.if t .TP 10
+.if n .TP 5
+.B u
+既存の 
+.I jarfile 
+(
+.I f 
+を指定した場合) を更新します。
+このとき、この 
+.I jarfile 
+には入力ファイルで指定されたファイルおよびディレクトリが追加されます。以下に例を示します。
+.LP
+.RS 5
+% jar uf foo.jar foo.class
+.RE
+.LP
+この例では、ファイル 
+.I foo.class 
+が既存の jar ファイル 
+.I foo.jar 
+に追加されます。
+.I u 
+オプションでは、マニフェストのエントリを更新することもできます。以下に例を示します。
+.LP
+.RS 5
+% jar umf manifest foo.jar
+.RE
+.LP
+.I foo.jar 
+マニフェストをマニフェスト内の名前:値ペアで更新します。
+.if t .TP 10
+.if n .TP 5
+.B x
+ファイルおよびディレクトリを 
+.I jarfile 
+(
+.I f 
+を指定した場合)、
+または標準入力 (
+.I f 
+と 
+.I jarfile 
+を省略した場合) から抽出します。
+入力ファイルを指定した場合、その入力ファイルで指定されたファイルおよびディレクトリだけが
+抽出されます。指定しない場合は、すべてのファイルおよびディレクトリが抽出されます。
+抽出されたファイルの日時は、アーカイブ内で設定されたものです。
+.if t .TP 10
+.if n .TP 5
+.B t
+.I jarfile 
+(
+.I f 
+を指定した場合)、または標準入力 (
+.I f 
+と 
+.I jarfile 
+を省略した場合) から内容をリストします。入力ファイルを指定した場合、
+その入力ファイルで指定されたファイルおよびディレクトリだけが
+リストされます。指定しない場合は、すべてのファイルおよびディレクトリがリストされます。
+.if t .TP 10
+.if n .TP 5
+.B i
+指定された 
+.I jarfile 
+および関連づけられている jar ファイルの
+インデックス情報を生成します。次に例を示します。 
+.LP
+.RS 5
+% jar i foo.jar
+.RE
+.LP
+.I foo.jar
+に 
+.I INDEX.LIST 
+ファイルが生成されます。
+このファイルには、
+.I foo.jar 
+の各パッケージおよび 
+.I foo.jar 
+の 
+.I Class-Path 
+属性に指定されているすべての jar ファイルの
+位置情報が書き込まれています。
+インデックスの例を参照してください。
+.if t .TP 10
+.if n .TP 5
+.B f
+作成 (c)、更新 (u)、抽出 (x)、インデックス作成(i)、
+または表示 (t) する 
+.I jarfile 
+を指定します。
+.I \-f 
+オプションと 
+.I jarfile 
+のファイル名は対になっています。
+使用する場合は、両方を一緒に使用します。
+.I f 
+と 
+.I jarfile 
+を省略すると、標準入力から jar ファイル名が
+使用されたり (x および t の場合)、標準出力に jar ファイルが
+送信されたりします (c および u の場合)。
+.if t .TP 10
+.if n .TP 5
+.B v
+標準出力に詳細な出力を生成します。次に例を示します。
+.if t .TP 10
+.if n .TP 5
+.B 0
+ゼロ。ZIP 圧縮を使用せずに格納します。
+.if t .TP 10
+.if n .TP 5
+.B M
+manifest ファイルエントリを作成しません (c および u の場合)。または
+すでに存在する manifest ファイルエントリを削除します (u の場合)。 
+.if t .TP 10
+.if n .TP 5
+.B m
+指定したマニフェストファイル 
+.I manifest 
+から
+名前:値属性をファイル
+.I META-INF/MANIFEST.MF 
+に取り込みます。
+すでに同じ名前で存在しない限り、
+.I jar
+はその名前:値ペアを追加します。同じ名前で存在する場合は、
+jar
+はその値を更新します。
+.LP
+コマンド行では、文字 
+.B m 
+と 
+.B f 
+は、
+.I manifest 
+と 
+.I jarfile
+が出現するのと
+同じ順序で使用します。次に例を示します。
+.LP
+.RS 5
+% jar cmf myManifestFile myFile.jar *.class
+.RE
+.LP
+manifest ファイルには、デフォルトのマニフェストに含まれていない、
+専用の名前:値属性ペアを追加できます。
+たとえば、
+ベンダー情報、バージョン情報、パッケージシーリング、
+または JAR にバンドルされたアプリケーションを実行するための属性を
+追加できます。
+.B -m 
+オプションの使用例については、「Java Tutorial」
+.fi
+http://java.sun.com/docs/books/tutorial/jar/
+にある
+.na
+「
+.I JAR Files
+」コースを参照してください。
+.TP 3
+e 
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、
+.I entrypoint
+を設定します。このオプションを使用すると、マニフェストファイル内の 
+.I Main\-Class
+属性値が作成または上書きされます。このオプションは、JAR ファイルの作成中または更新中に使用できます。このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。
+.br
+.br
+たとえば、次のコマンドは 
+.I Main.jar
+を作成しますが、その際、マニフェストファイル内の 
+.I Main\-Class
+属性値は 
+.I Main
+に設定されます。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar cfe Main.jar Main Main.class
+.fl
+\fP
+.fi
+.RE
+.LP
+次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+java \-jar Main.jar
+.fl
+\fP
+.fi
+.RE
+エントリポイントのクラス名が特定のパッケージ内に存在している場合、エントリポイントの区切り文字としてドット (「.」) またはスラッシュ (「/」) を使用できます。たとえば、
+.I Main.class
+が 
+.I foo
+という名前のパッケージ内に存在している場合、次のようにしてエントリポイントを指定できます。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar \-cfe Main.jar foo/Main foo/Main.class
+.fl
+\fP
+.fi
+.RE
+または 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar \-cfe Main.jar foo.Main foo/Main.class
+.fl
+\fP
+.fi
+.RE
+\f3注:\ \fP 
+.I \-m
+オプションと 
+.I \-e
+オプションの両方を同時に指定する場合、指定されたマニフェストにも 
+.I Main\-Class
+属性が含まれていると、
+.I Main.class
+の指定があいまいになってエラーが発生し、JAR の作成または更新処理が異常終了します。 
+.if t .TP 10
+.if n .TP 5
+.B \-C \ dir 
+.B jar 
+コマンドの実行中に一時的にディレクトリを変更します (
+.I cd " dir"
+)。
+このとき、後続の入力ファイル引数が処理されます。
+この動作は、UNIX の 
+.I tar 
+ユーティリティの 
+.I \-C 
+オプションと
+同様の動作になります。
+たとえば、次のコマンドは、
+.I classes 
+ディレクトリに移動し、そのディレクトリから 
+.I bar.classes 
+を
+.I foo.jar 
+に追加します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar uf foo.jar \-C classes bar.class
+.fl
+\fP
+.fi
+.RE
+次のコマンドでは、
+.I classes 
+ディレクトリに移動し、
+.I classes 
+ディレクトリ内のすべてのファイルを
+.I foo.jar 
+に追加します (jar ファイルには classes ディレクトリを作成しません)。
+次に元のディレクトリに戻ってから、
+.I bin 
+ディレクトリに移動し、
+.I xyz.class 
+を 
+.I foo.jar 
+に追加します。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar uf foo.jar \-C classes . \-C bin xyz.class
+.fl
+\fP
+.fi
+.RE
+.I classes
+にファイル 
+.I bar1
+および 
+.I bar2
+がある場合、
+.I jar tf foo.jar
+を実行すると、jar ファイルの内容が次のように表示されます。
+.LP
+.if t .RS 15
+.if n .RS 8
+.ft 3
+.nf
+META-INF/
+META-INF/MANIFEST.MF
+bar1
+bar2
+xyz.class
+.fi
+.ft 1
+.RE
+.if t .TP 10
+.if n .TP 5
+.B \-Joption
+.I option
+を Java Runtime Environment に渡します。
+ここで、
+.I option
+は、Java アプリケーション起動プログラムのマニュアルページ
+.fi
+ (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html#options) 
+で説明されているオプションの 1 つです。
+たとえば
+.B \-J-Xms48m
+は、最大メモリを 48M バイトに設定します。
+.I \-J
+が基本にする仮想マシンにオプションを渡すことは、共通の規約です。
+.SH "コマンド行引数ファイル"
+.B jar 
+コマンド行を短くまたは簡単にするために、
+.I jar 
+コマンドの引数 (
+.I \-J 
+オプションを除く) を含むファイルを 1 つ以上指定できます。
+これにより、任意の長さの 
+.B jar 
+コマンドを作成でき、
+オペレーティングシステムによるコマンド行の制限を
+回避できます。
+.LP
+引数ファイルには、オプションとファイル名を含めることができます。
+引数ファイル内の引数は空白文字区切りまたは改行区切りにします。
+引数ファイル内のファイル名は、引数ファイルの位置に対してではなく、
+現在のディレクトリに対して相対的に指定します。
+通常はオペレーティングシステムシェルによって展開されるワイルドカード (*) は
+展開されません。ファイルを再帰的に解釈するための @ 文字は使用できません。
+.I \-J 
+オプションは、起動プログラムに渡されるため、サポートされていません。
+起動プログラムでは引数ファイルを使用できないためです。
+.LP
+.I jar 
+の実行時、各引数ファイルのパスおよび名前の先頭に @ 文字を付けて渡します。
+.I jar 
+で先頭に文字 @ の付いた引数が出現するたびに、
+そのファイルの内容が引数リストに展開されます。
+.br
+.br
+次の例では、
+.I find
+コマンドから出力されたファイル名を 
+.I classes.list
+内に格納しています。 
+.LP
+.RS 5
+% find . -name '*.class' -print > classes.list
+.RE
+.LP
+その後、引数ファイル構文を使って
+.I jar
+にリストを渡すと、
+.I Classes.list
+で 
+.I jar
+コマンドを実行できます。
+.LP
+.RS 5
+% jar cf my.jar @classes.list
+.RE
+.LP
+引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内の
+すべてのファイル名は、渡されたパスに対して相対的ではなく、
+現在の作業ディレクトリに相対的となります。次に例を示します。
+.LP
+.RS 5
+% jar @path1/classes.list
+.RE
+.SH "使用例"
+あるディレクトリ中のファイルをすべてアーカイブに追加する例を示します 
+(アーカイブがすでに存在する場合は、内容が上書きされます)。
+詳細を列挙すると (
+.I \-v
+オプションを使用)、
+サイズや最終更新日など、
+アーカイブ内のファイルに関して詳しい情報が得られます。
+.RS 
+\f3
+.nf
+% ls
+1.au          Animator.class    monkey.jpg
+2.au          Wave.class        spacemusic.au
+3.au          at_work.gif
+.LP
+% jar cvf bundle.jar *
+added manifest
+adding: 1.au(in = 2324) (out= 67)(deflated 97%)
+adding: 2.au(in = 6970) (out= 90)(deflated 98%)
+adding: 3.au(in = 11616) (out= 108)(deflated 99%)
+adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
+adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
+adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
+adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
+adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
+\f1
+.fi
+.RE
+イメージ、オーディオファイル、およびクラス用のサブディレクトリが
+すでに存在する場合、単一の 
+.B jar 
+ファイルに結合できます。
+.RS 
+\f3
+.nf
+% ls -F
+audio/ classes/ images/
+
+% jar cvf bundle.jar audio classes images
+added manifest
+adding: audio/(in = 0) (out= 0)(stored 0%)
+adding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
+adding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
+adding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
+adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
+adding: classes/(in = 0) (out= 0)(stored 0%)
+adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
+adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
+adding: images/(in = 0) (out= 0)(stored 0%)
+adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
+adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)
+
+% ls -F
+audio/ bundle.jar classes/ images/
+.fi
+\f1
+.RE
+次の例では、
+.I t 
+オプションを指定して、jar ファイル中のエントリ名を表示します。
+.RS 
+\f3
+.nf
+% jar tf bundle.jar
+META-INF/
+META-INF/MANIFEST.MF
+audio/1.au
+audio/2.au
+audio/3.au
+audio/spacemusic.au
+classes/Animator.class
+classes/Wave.class
+images/monkey.jpg
+images/at_work.gif
+.fi
+\f1
+.RE
+クラスの読み込みを高速化するために jar ファイルにインデックスファイルを
+追加する場合は、
+.I i
+オプションを使用してください。
+.br
+.br
+例:
+.br
+
+.LP
+.RS 3
+
+.LP
+たとえば株取引アプリケーションの内部依存しているクラスを 
+.I main.jar
+、
+.I buy.jar
+、
+および 
+.I sell.jar 
+という 3 つの jar ファイル
+に分割したとします。
+.I main.jar 
+のマニフェストの 
+.I Class-Path
+属性に次のように指定した場合、 
+.LP
+.RS 5
+Class-Path: buy.jar sell.jar
+.RE
+.LP
+.I -i 
+オプションを使用すれば、アプリケーションのクラスの
+読み込みを高速化できます。
+.LP
+.RS 5
+% jar i main.jar
+.RE
+.LP
+.I INDEX.LIST 
+ファイルが 
+.I META-INF 
+ディレクトリに追加されます。
+この結果、アプリケーションのクラスローダによってクラスまたは
+リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。 
+.SH "関連項目"
+.LP
+
+.LP
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
+の
+.na
+「
+.I The Jar Overview
+」
+.br
+
+.LP
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
+の
+.na
+「
+.I The Jar File Specification
+」
+.br
+
+.LP
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
+の
+.na
+「
+.I The JarIndex Spec
+」
+.br
+
+.LP
+.fi
+http://java.sun.com/docs/books/tutorial/jar
+の
+.na
+「
+.I Jar Tutorial
+」
+(Java ソフトウェアの Web サイト内) 
+.br
+
+.LP
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/share/pack200.html
+の
+.na
+「
+.I pack200 Reference Page
+」
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/jarsigner.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,1358 @@
+'\" t
+.\"
+.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\" 
+.\"
+.TH jarsigner 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.SH "名前"
+jarsigner \- JAR 署名および検証ツール
+.LP
+.RS 3
+
+.LP
+.LP
+Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。
+.LP
+.RE
+.SH "形式"
+.B jarsigner 
+[ 
+.BI options
+]  
+jar-file alias
+.br
+.B jarsigner
+.BI \-verify
+[
+.BI options 
+]
+jar-file 
+.SH "説明"
+.IX "JAR signing and verification tool " "" "JAR signing and verification tool  \(em \fLjarsigner\fP"
+.IX "jarsigner" "" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.B jarsigner 
+ツールは、次の 2 つの目的で使用します。
+.TP 5
+1. 
+Java ARchive (JAR) ファイルに署名を付ける
+.TP 5
+2. 
+署名付き JAR ファイルの署名と完全性を検証する
+.LP
+JAR 機能を使うと、クラスファイル、イメージ、サウンド、およびその他のデジタルデータ
+を単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。
+開発者は、
+.B jar 
+という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、
+すべての ZIP ファイルも JAR ファイルとみなすことができます。
+.LP
+「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティ
+(人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、
+デジタル署名には多くの利点があります。
+.TP 2
+\(bu
+署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、
+デジタル署名が本物かどうかを検証できる
+.TP 2
+\(bu
+非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である
+.TP 2
+\(bu
+デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの
+署名として機能することはない
+.TP 2
+\(bu
+署名付きのデータは変更できない。データが変更された場合は、その署名によってデータ
+が本物ではないことが検証される
+.LP
+ファイルに対してエンティティの署名を生成するには、まず、そのエンティティが公開鍵と
+非公開鍵のペアを持つ必要があります。また、公開鍵を認証する 1 つ以上の証明書も
+必要です。「証明書」とは、あるエンティティからのデジタル署名付きの文書のことです。
+証明書には、ほかのあるエンティティの公開鍵が特別な値を持っていることが書かれて
+います。
+.LP
+.B jarsigner 
+は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を
+生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明連鎖が
+収められたデータベースです。証明連鎖は、非公開鍵に対応する公開鍵を認証します。
+キーストアの作成と管理には、
+.B keytool
+ユーティリティを使います。
+.LP
+.B jarsigner 
+は、エンティティの非公開鍵を使って署名を生成します。署名付き JAR ファイルには、
+キーストアからの証明書のコピーが含まれています。これは、JAR ファイルの署名に使わ
+れた非公開鍵に対応する公開鍵の証明書のコピーです。
+.B jarsigner 
+は、署名付き JAR ファイルのデジタル署名を、ファイル内 (の署名ブロックファイル) に含
+まれている証明書を使って検証することができます。
+.LP
+J2SE 5.0 以降の \f3jarsigner\fP は、タイムスタンプを含む署名を生成できるようになりました。このため、システム/デプロイヤ (Java Plug\-in など) は、署名付きの証明書がまだ有効である期間中に JAR ファイルの署名が行われたかどうかを確認できます。さらに、そのタイムスタンプ情報をアプリケーションが取得するための API が、J2SE 5.0 で追加されました。
+.LP
+現時点では、
+.B jarsigner 
+で署名できるのは、JDK の 
+.B jar
+ツールで作成された JAR ファイル、または ZIP ファイルだけです。JAR ファイルは ZIP ファイルと同じですが、JAR ファイルには
+.B META-INF/MANIFEST.MF 
+ファイルが含まれている点が異なります。
+.B META-INF/MANIFEST.MF
+ファイルは、
+.B jarsigner 
+が ZIP ファイルに署名を付けるときに自動的に作成されます。
+.LP
+デフォルトでは、
+.B jarsigner
+は JAR ファイルに「署名」を付けます。
+署名付き JAR ファイルを「検証」する場合は、
+.I -verify 
+オプションを指定します。
+.SS 
+JDK 1.1 との互換性
+.LP
+.IX "jarsigner" "Compatibility with JDK 1.1" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.B keytool
+ツールと 
+.B jarsigner 
+ツールは、JDK 1.1 で提供されていた
+.B javakey
+ツールを完全に置き換えるものです。これらの新しいツールは
+.B javakey
+よりも多くの機能を備えており、キーストアと非公開鍵をパスワードで保護する機能や、
+署名の生成だけでなく署名を検証する機能を持っています。
+.LP
+新しいキーストアアーキテクチャは、
+.B javakey 
+が作成して管理していたアイデンティティデータベースに代わるものです。キーストア形式と、JDK 1.1 の 
+.B javakey 
+が使っていたデータベース形式との間には下位互換性はありません。ただし、次のような
+ことは可能です。
+.TP 2
+\(bu
+.B keytool
+の
+.I -identitydb 
+コマンドを使うと、アイデンティティデータベースの情報をキーストアにインポートできます。
+.TP 2
+\(bu
+
+.B jarsigner
+は、以前に 
+.B javakey
+を使って署名された JAR ファイルに署名を付けることができます。
+.TP 2
+\(bu
+.B jarsigner 
+は、
+.B javakey
+を使って署名された JAR ファイルを検証できます。したがって、
+.B jarsigner
+は、JDK 1.2 のキーストアではなく JDK 1.1 のアイデンティティデータベースからの署名者別
+名を認識し、これらを対象に処理を行うことができます。
+.LP 
+次の表は、JDK 1.1.x で署名された JAR ファイルが、Java 2 プラットフォームでどのように扱われるかを
+示しています。
+.LP
+.nf
+.ft 3
+                      1.1 データ
+         1.1 データ   ベースから   ポリシー
+JAR      ベース内の   1.2 キース   ファイル      
+ファイル   アイデン   トアにイン   がアイデン   与えられる
+のタイプ   ティティ   ポートされ   ティティ/    特権 
+                      る信頼でき   別名に特権  
+                      るアイデン   を与える
+                      ティティ(4)
+
+署名付き                                         すべてのコードに
+JAR          x         x          x           与えられる
+                                                 デフォルトの
+                                                 特権
+												   
+署名のない                                       すべてのコードに
+JAR          x         x          x           与えられる
+                                                 デフォルトの
+                                                 特権
+
+署名付き                                         すべてのコードに
+JAR          x         ○          x           与えられる
+                                                 デフォルトの
+                                                 特権
+
+署名付き                                         すべてのコードに
+JAR          ○/信頼で  x          x           与えられる
+              きない                             デフォルトの
+                                                 特権 (3)
+
+署名付き                                         すべてのコードに
+JAR          ○/信頼で  x          ○           与えられる
+              きない                             デフォルトの
+                                                 特権 (1,3)
+
+署名付き                                         すべてのコードに
+JAR          x         ○          ○           与えられる
+                                                 デフォルトの
+                                                 特権とポリシー
+                                                 ファイル内
+                                                 で与えられる
+                                                 特権
+												   
+署名付き                                         すべてのコードに
+JAR          ○/信頼    ○          ○           与えられる
+              できる                             デフォルトの
+                                                 特権とポリシー
+                                                 ファイル内
+                                                 で与えられる
+                                                 特権 (2)
+
+署名付き                                         すべての
+JAR          ○/信頼    x          x           特権
+              できる 
+署名付き                                         すべての
+JAR          ○/信頼    ○          x           特権 (1)
+              できる
+署名付き                                         すべての
+JAR          ○/信頼    x          ○           特権 (1)
+              できる
+.fi
+.ft 1
+.LP
+注:
+.TP 5
+1. 
+ポリシーファイル内にアイデンティティ/別名についての言及がある場合、
+それをキーストアにインポートして、ポリシーファイルの設定が与えられた
+特権に反映されるようにする必要があります。
+.TP 5
+2. 
+ポリシーファイル/キーストアの組み合わせは、アイデンティティデータベース
+内の信頼できるアイデンティティよりも優先されます。
+.TP 5
+3. 
+Java 2 プラットフォームでは、信頼できないアイデンティティは無視されます。
+.TP 5
+4. 
+JDK キーストアにインポートできるのは、信頼できるアイデンティティだけです。
+.SS 
+キーストアの別名
+.LP
+.IX "jarsigner" "Keystore Aliases" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+キーストアのすべてのエントリは、一意の「別名」を介してアクセスされます。
+.LP
+.B jarsigner 
+を使って JAR ファイルに署名を付けるときは、署名の生成に必要な非公開鍵を
+含むキーストアエントリの別名を指定する必要があります。たとえば、次の例は、
+working ディレクトリの
+.B mystore
+という名前のキーストアに含まれる別名 
+.B duke 
+に関連付けられた非公開鍵を使って、
+.BR MyJARFile.jar
+という名前の JAR ファイルに署名を付けます。出力ファイルは指定されていない
+ので、
+.BR MyJARFile.jar 
+は署名付きの JAR ファイルによって上書きされます。
+.LP
+.ft 3
+.nf
+jarsigner -keystore /working/mystore -storepass 
+   myspass -keypass dukekeypasswd MyJARFile.jar duke
+.fi
+.ft 1
+.LP
+キーストアはパスワードで保護されているので、ストアのパスワード (上の例では 
+.BR myspass
+) を指定する必要があります。コマンド行でストアのパスワードを指定しなかった場合は、パスワードの入力を求められます。同様に、非公開鍵もキーストア内でパスワードによって保護されているので、非公開鍵のパスワード (上の例では 
+.BR dukekeypasswd 
+) を指定する必要があります。コマンド行で非公開鍵のパスワードを指定しておらず、非公開鍵のパスワートがストアのパスワードと違っている場合は、非公開鍵のパスワードの入力を求められます。
+.LP
+.SS 
+キーストアの場所
+.LP
+.IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+.B jarsigner 
+には、使用するキーストアの名前と場所を指定する 
+.I -keystore
+オプションがあります。キーストアは、デフォルトではユーザのホームディレクトリの 
+.I .keystore 
+という名前のファイルに格納されます。ユーザのホームディレクトリは、
+.I user.home
+システムプロパティによって決まります。
+.LP
+.I \-keystore 
+オプションからの入力ストリームは
+.I KeyStore.load 
+メソッドに渡されます。
+URL として NONE  が指定された場合は、NULL ストリームが
+.I KeyStore.load 
+メソッドに渡されます。キーストアがハードウェアトークンデバイス上にあるなど、
+ファイルベースでない場合は、
+.I NONE 
+を指定してください。
+.SS 
+キーストアの実装
+.LP
+.IX "jarsigner" "Keystore Implementation" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+.I java.security 
+パッケージ内にある 
+.I KeyStore 
+クラス
+では、キーストア内の情報にアクセスし、変更できるように
+適切に定義されたインタフェースが提供されています。
+このクラスは複数のさまざまな固定実装が可能で、
+それぞれの実装は、特定の種類のキーストア用の固定実装です。
+.LP
+現在、キーストアの実装を使用するものとして、keytool と 
+.BR  jarsigner
+の 2 つのコマンド行ツールと、
+.BR policytool 
+という名前の 1 つの GUI ベースのツールがあります。
+.I KeyStore 
+クラスは public として使用可能なので、JDK ユーザは 
+.B KeyStore
+を使ってほかのセキュリティアプリケーションも作成できます。
+.LP
+キーストアには、Sun が提供する組み込みのデフォルトの実装があります。これは、
+JKS という名前の独自のキーストアタイプ (形式) を利用するもので、キーストアを
+ファイルとして実装しています。この実装では、個々の非公開鍵は個別のパスワード
+によって保護され、キーストア全体の完全性も (非公開鍵とは別の) パスワードに
+よって保護されます。
+.LP
+
+キーストアの実装は、プロバイダベースです。具体的には、
+.I KeyStore
+クラスが提供するアプリケーションインタフェースは、Service Provider Interface (SPI) 
+という形で実装されています。つまり、対応する 
+.I KeystoreSpi
+抽象クラス (これも 
+.I java.security
+パッケージに含まれている) があり、このクラスが Service Provider Interface の
+メソッドを定義しています。これらのメソッドは、「プロバイダ」が実装しなければなりま
+せん。ここで、「プロバイダ」とは、Java Security API によってアクセス可能なサービス
+のサブセットに対し、その固定実装を提供するパッケージまたはパッケージの集合の
+ことです。したがって、キーストアの実装を提供するには、「Java 暗号化アーキテク
+チャ用プロバイダの実装方法」(http://java.sun.com/javase/6/docs/technotes/guides/security/HowToImplAProvider.html) のページで説明しているように、クライアントがプロバイダを実装し、
+.I KeystoreSpi 
+サブクラスの実装を提供する必要があります。
+.LP
+アプリケーションでは、
+.I KeyStore
+クラスが提供する 
+.B getInstance
+ファクトリメソッドを使うことで、さまざまなプロバイダから異なる「タイプ」のキーストアの
+実装を選択できます。キーストアのタイプは、キーストア情報の格納形式とデータ形式、
+およびキーストア内の非公開鍵とキーストア自体の完全性を保護するために使われる
+アルゴリズムを定義します。異なるタイプのキーストアの実装には、互いに互換性は
+ありません。keytool、jarsigner、および policytool の各ツールは、
+.B KeyStore
+が提供する共通のアプリケーションインタフェースだけを使っているので、任意の
+タイプのキーストアで使用できます。
+.LP
+.B keytool 
+は、ファイルベースのキーストア実装に対して機能します。
+.B keytool 
+は、コマンド行で渡されたキーストアの位置をファイル名として扱い、
+.BR FileInputStream
+に変換して、そこからキーストア情報をロードします。一方、
+.B jarsigner
+ツールおよび 
+.B policytool
+ツールは、URL を使って指定することが可能な任意の位置にあるキーストアを
+読み取ることができます。
+.LP
+.B jarsigner 
+と 
+.BR keytool
+の場合、
+.I -storetype
+オプションを使ってコマンド行でキーストアのタイプを指定できます。
+.BR policytool 
+の場合は、[Edit] メニューの [Change Keystore] コマンドを使ってキーストアの
+タイプを指定できます。
+.LP
+キーストアのタイプを明示的に指定しない場合、
+.B keytool
+、
+.B jarsigner
+、および 
+.B policytool 
+の各ツールは、セキュリティプロパティファイル内で指定
+された
+.I keystore.type
+プロパティの値に基づいてキーストアの実装を選択します。セキュリティプロパティファ
+イルは、
+.I java.security
+という名前でセキュリティプロパティディレクトリ 
+.I java.home/lib/security
+に置かれています。
+.I java.home
+は、JDK の実行環境ディレクトリです。(SDK 内の jre ディレクトリ
+または Java Runtime Environment のトップレベルのディレクトリ)。
+.LP
+各ツールは、
+.I keystore.type
+の値を取得し、この値で指定されたタイプのキーストアを実装しているプロバイダが
+見つかるまで、現在インストールされているすべてのプロバイダを調べます。目的の
+プロバイダが見つかると、そのプロバイダからのキーストアの実装を使います。
+.LP
+.I KeyStore 
+クラスでは 
+.I getDefaultType
+という名前の static メソッドが定義されており、アプリケーションとアプレットはこの
+メソッドを使うことで 
+.I keystore.type
+プロパティの値を取得できます。次のコードは、デフォルトのキーストアタイプ (
+.I keystore.type
+プロパティで指定されたタイプ) のインスタンスを生成します。
+.LP
+.nf
+\f3
+.fl
+    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
+.fl
+\fP
+.fi
+
+.LP
+.LP
+デフォルトのキーストアタイプは jks (Sun が提供する独自のタイプのキーストアの
+実装) です。これは、セキュリティプロパティファイル内の次の行によって指定されて
+います。
+.LP
+.RS 5
+.B keystore.type=jks
+.RE
+.LP
+注: キーストアタイプの指定では、大文字と小文字は区別されません。たとえば、「JKS」と「jks」は同じものとみなされます。
+.LP
+各ツールでデフォルト以外のキーストアの実装を使用するには、上の行を変更して
+別のキーストアのタイプを指定します。
+たとえば、pkcs12 と呼ばれるタイプのキーストアの実装を提供している
+プロバイダパッケージを使用するには、上の行を次のように変更します。
+.LP
+.B keystore.type=pkcs12
+.LP
+PKCS#11 プロバイダパッケージを使用する場合、その詳細については、「Java PKCS#11 Reference Guide」(
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#keytooljarsigner)
+にある
+「\f2KeyTool and JarSigner\fP」節を参照してください。
+.LP
+.SS 
+サポートされるアルゴリズム
+.LP
+.IX "jarsigner" "Supported Algorithms and Key Sizes" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+デフォルトでは、
+.B jarsigner
+は次のどちらかのアルゴリズムを使って JAR ファイルに署名します。
+.TP 2
+\(bu
+SHA-1 ダイジェストアルゴリズムを使った DSA (デジタル署名アルゴリズム)
+.TP 2
+\(bu
+MD5 ダイジェストアルゴリズムを使った RSA アルゴリズム
+.LP
+具体的には、署名者の公開鍵と非公開鍵が DSA 鍵である場合、
+.B jarsigner
+は「SHA1withDSA」アルゴリズムを使って JAR ファイルに署名を付けようとします。署名者の
+鍵が RSA 鍵である場合、
+.B jarsigner
+は「MD5withRSA」アルゴリズムを使って JAR ファイルに署名を付けます。
+.LP
+これらのデフォルトの署名アルゴリズムは、\f2\-sigalg\fP オプションを使ってオーバーライドできます。
+.LP
+.SS 
+署名付き JAR ファイル
+.LP
+.IX "jarsigner" "The Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+.B jarsigner
+を使って JAR ファイルに署名を付けた場合、出力される署名付き JAR ファイルは
+入力 JAR ファイルと同じですが、次の 2 つの追加ファイルが
+.B META-INF
+ディレクトリに置かれる点が異なります。
+.TP 2
+\(bu
+.B .SF
+拡張子の付いた署名ファイル
+.TP 2
+\(bu
+.B .DSA
+拡張子の付いた署名ブロックファイル
+.LP
+これら 2 つのファイルのベースファイル名は、
+.I -sigFile 
+オプションの値から作成されます。たとえば、次のようにオプションを指定したとします。
+.LP
+.B -sigFile MKSIGN
+.LP
+この場合、ファイル名はそれぞれ 
+.B MKSIGN.SF
+と
+.BR MKSIGN.DSA
+になります。
+.LP
+コマンド行に 
+.I -sigfile 
+オプションの指定がない場合、
+.B .SF
+ファイルと 
+.B .DSA
+ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字を
+すべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名が
+そのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれ
+ている場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。
+使用できる文字は、アルファベット、数字、下線 (_)、ハイフンです。
+.LP
+署名 (\f3.SF\f1) ファイル
+.LP
+署名ファイル (
+.B .SF
+ファイル) は、
+.B jar
+ツールで生成された JAR ファイルに常に含まれるマニフェストファイルと似ています。つまり、マニフェストファイル同様、
+.B .SF
+ファイルには、JAR ファイルに含まれているソースファイルごとに、次の 3 つの行があります。
+.TP 2
+\(bu
+ファイル名
+.TP 2
+\(bu
+使われているダイジェストアルゴリズム (SHA) の名前
+.TP 2
+\(bu
+SHA ダイジェストの値
+.LP
+マニフェストファイルでは、SHA ダイジェストの値は、ソースファイルのバイナリデータ
+のダイジェスト (ハッシュ) です。一方、
+.B .SF
+ファイルでは、ソースファイルのダイジェストの値は、マニフェストファイル中の該当する
+ソースファイルに対応する 3 行のハッシュです。
+.LP
+署名ファイルには、デフォルトでマニフェストファイル全体のハッシュも含まれています。
+後述の「JAR ファイルの検証」で説明するように、このヘッダの存在によって検証の
+最適化が可能になっています。
+.LP
+署名ブロック (\f3.DSA\f1) ファイル
+.LP
+.B .SF
+ファイルには署名が付けられ、署名は 
+.B .DSA 
+ファイルに置かれます。
+.B .DSA
+ファイルには、キーストアからの証明書または証明連鎖も符号化された形で含まれて
+います。証明書または証明連鎖は、署名に使われた非公開鍵に対応する公開鍵を
+認証します。
+.LP
+.SS 
+署名タイムスタンプ
+.LP
+.LP
+J2SE 5.0 リリースの 
+.I jarsigner
+ツールは、JAR ファイルの署名時に署名タイムスタンプを生成および格納できるようになりました。さらに、
+.I jarsigner
+は代替の署名機構もサポートします。この動作は省略可能で、署名時に次の各オプションによって制御されます。
+.LP
+.RS 3
+.TP 2
+o
+\f2\-tsa url\fP 
+.TP 2
+o
+\f2\-tsacert alias\fP 
+.TP 2
+o
+\f2\-altsigner class\fP 
+.TP 2
+o
+\f2\-altsignerpath classpathlist\fP 
+.RE
+
+.LP
+.LP
+これらの各オプションの詳細については、後述の「オプション」節を参照してください。
+.LP
+.SS 
+JAR ファイルの検証
+.LP
+.IX "jarsigner" "JAR File Verification" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+JAR ファイルの検証が成功するのは、署名が有効であり、かつ署名の生成以後に 
+JAR ファイル内のどのファイルも変更されていない場合です。JAR ファイルの検証は、次の手順で行われます。
+.TP 5
+1. 
+.B .SF 
+ファイルそれ自体の署名を検証します。
+.RS
+.LP
+この手順では、各署名ブロック (
+.B .DSA
+) ファイルに格納されている署名が、実際に、公開鍵に対応する非公開鍵を使って
+生成されたものであることを確認します。
+.B .DSA
+ファイルには、公開鍵の証明書も含まれています。また、この手順
+では、目的の署名が、対応する署名 (
+.B .SF
+) ファイル内の有効な署名であるかどうかを調べ、
+.B .SF 
+ファイルが改変されていないことも確認します。
+.RE
+.TP 5
+2. 
+.B .SF
+ファイル内の各エントリのダイジェストをマニフェスト内の対応する各セクションと突き
+合わせて検証します。
+.RS 
+.LP
+.B .SF
+ファイルには、マニフェストファイル全体のハッシュが格納されたヘッダがデフォルトで
+含まれています。このヘッダが存在する場合は、ヘッダ内のハッシュが実際にマニフェ
+ストファイルのハッシュと一致するかどうかを検証することができます。ハッシュが一致す
+る場合は、次の手順に進みます。
+.LP
+ハッシュが一致しない場合は、効率的には劣る方法を使って検証を行います。具体的
+には、
+.B .SF
+ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の
+対応するセクションのハッシュと一致するかどうかを確認します (「署名 (\f3.SF\f1) 
+ファイル」を参照)。
+.LP
+.B .SF
+ファイルのヘッダに格納されたマニフェストファイルのハッシュと、実際のマニフェスト
+ファイルのハッシュとが一致しない場合は、署名 (および 
+.B .SF
+ファイル) の生成後に、ファイルに 1 つ以上のファイルが追加 (
+.I jar
+ツールを使用) された可能性があります。
+.I jar
+ツールを使ってファイルを追加した場合、マニフェストファイルは変更されますが 
+(新しいファイル用のセクションが追加される)、
+.B .SF
+ファイルは変更されません。この場合、
+.B .SF
+ファイルのヘッダ以外のセクションに格納されたハッシュが、マニフェストファイル内の
+対応するセクションのハッシュと一致するときは、署名の生成時に JAR ファイル内に
+存在していたファイルのうち、どのファイルも変更されていないことになり、検証は成功
+したものとして扱われます。
+.RE
+.TP 5
+3. 
+JAR ファイル内のファイルのうち、
+.B .SF
+ファイル内にエントリを持つ各ファイルを読み込みます。読み込み中にファイルの
+ダイジェストを計算し、結果をマニフェストセクション内の該当するファイルの
+ダイジェストと比較します。2 つのダイジェストは同じでなければならず、そうでない
+場合は検証が失敗します。
+.LP
+検証プロセスの途中でなんらかの重大な検証エラーが発生した場合、検証プロセス
+は中止され、セキュリティ例外がスローされます。スローされたセキュリティ例外は、
+.BR jarsigner
+がキャッチして表示します。
+.LP
+.SS 
+1 つの JAR ファイルを対象とする複数の署名
+.LP
+.IX "jarsigner" "Multiple Signatures for a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+1 つの JAR ファイルに対して 
+.B jarsigner 
+ツールを複数回実行し、実行のたびに、異なるユーザの別名を指定すれば、JAR 
+ファイルに複数のユーザの署名を付けることができます。たとえば、次のようにします。
+.LP
+.ft 3
+.nf
+jarsigner myBundle.jar susan
+jarsigner myBundle.jar kevin
+.fi
+.ft 1
+.LP
+JAR ファイルが複数回署名されている場合、その JAR ファイルには
+.B .SF
+ファイルと
+.B .DSA
+ファイルの対が複数含まれることになります。
+.B .SF 
+ファイルと
+.B .DSA
+ファイルの対は、1 回の署名に対して 1 つ作成されます。したがって、上の例で出力
+される JAR ファイルには、次の名前を持つファイルが含まれます。
+.LP
+.ft 3
+.nf
+SUSAN.SF
+SUSAN.DSA
+KEVIN.SF
+KEVIN.DSA
+.fi
+.ft 1
+.LP
+注: JDK 1.1 の 
+.B javakey 
+ツールで生成した署名と、
+.B jarsigner 
+で生成した署名というように、
+1 つの JAR ファイルに署名を混在させることができます。
+つまり 
+.B javakey 
+ですでに以前署名した JAR ファイルに署名するために、
+.B jarsigner 
+を使用できます。
+.SH "オプション"
+.LP
+以下では、
+.B jarsigner 
+のオプションについて説明します。オプションを指定するときは、次の点に注意
+してください。
+.TP 2
+\(bu
+どのオプション名にも先頭にマイナス記号 (-) が付く
+.TP 2
+\(bu
+オプションは任意の順序で指定できる
+.TP 2
+\(bu
+イタリック体の項目の実際の値 (オプションの値) は、ユーザが指定する必要がある
+.TP 2
+\(bu
+.I -keystore、
+.I -storepass、
+.I -keypass、
+.I -sigfile、
+.I -sigalg、
+.I -digestalg、
+および 
+.I -signedjar 
+の各オプションを使用できるのは、JAR ファイルに署名を付ける場合だけである。
+これらのオプションは、JAR ファイルを検証する場合には使用できない。同様に、
+別名をコマンド行で指定するのは、JAR ファイルに署名を付ける場合だけである
+.LP
+.RS 3
+.TP 3
+.B -keystore  url
+キーストアの場所を示す URL を指定します。デフォルトは、ユーザのホームディレクト
+リ内のファイル 
+.I .keystore 
+です。ユーザのホームディレクトリは、
+.I user.home 
+システムプロパティによって決まります。
+.LP
+署名するときはキーストアが必要です。このため、デフォルトのキーストアが存在
+しない場合、あるいはデフォルト以外のほかのキーストアを使用する場合は、
+キーストアを明示的に指定する必要があります。
+.LP
+検証するときはキーストアは必要ありません。ただし、キーストアが指定されているか、
+あるいはデフォルトのキーストアが存在していて、さらに 
+.I -verbose
+オプションも指定されている場合は、JAR ファイルの検証に使われる証明書が
+キーストアに存在するかどうかについての追加情報が出力されます。
+.LP
+注: 
+.I -keystore 
+の引数には、URL の代わりにファイル名 (とパス) を指定できます。ファイル名 
+(とパス) を指定した場合は、「file:」URL として扱われます。たとえば、次のように
+指定できます。
+.LP
+.B -keystore filePathAndName
+.LP
+これは、次の指定と同じものとして扱われます。
+.LP
+.B -keystore file:filePathAndName
+.LP
+\fP
+.fi
+JRE の \f2$JAVA_HOME/lib/security\fP ディレクトリに格納された \f2java.security\fP セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されている場合、keytool と jarsigner は PKCS#11 トークンに基づいて動作できます。次のオプションを指定します。 
+.RS 3
+.TP 2
+o \f2\-keystore NONE\fP 
+.TP 2
+o \f2\-storetype PKCS11\fP 
+.RE
+たとえば、次のコマンドは、設定された PKCS#11 トークンの内容を一覧表示します。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+   jarsigner \-keystore NONE \-storetype PKCS11 \-list
+.fl
+  
+.fl
+\fP
+.fi
+.RE
+.TP 3
+.B -storetype  storetype
+インスタンスを生成するキーストアのタイプを指定します。デフォルトのキーストアの
+タイプは、セキュリティプロパティファイルで keystore.type プロパティの値として
+指定されたタイプで、
+.I java.security.KeyStore
+の static 
+.I getDefaultType 
+メソッドによって返されます。
+.LP
+\f2\-storepass\fP オプションを使って PCKS#11 トークンの PIN を指定することも
+できます。何も指定しなかった場合、keytool と jarsigner はユーザにトークン PIN の
+入力を求めます。トークンの認証パスが、専用の PIN パッドやバイオメトリックリーダの
+ような保護されたパスである場合、\f2\-protected\fP オプションを指定する必要があります。
+この場合、パスワードオプションは指定できません。  
+.TP
+.B -storepass  password
+キーストアにアクセスするのに必要なパスワードを指定します。このオプションが必要
+なのは、JAR ファイルに署名を付けるときだけです (JAR ファイルを検証するときは
+不要)。署名を付けるときに、コマンド行で 
+.I -storepass
+オプションを指定しなかった場合は、パスワードの入力を求められます。
+.RS 
+.LP
+注: テストを目的とする場合、または安全が保障されたシステムで実行する場合
+以外は、コマンド行やスクリプトでパスワードを指定しないでください。また、
+password プロンプトでパスワードを入力すると、入力したパスワードがエコーされ、
+そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、
+パスワードを見られないように注意してください。
+.RE
+.TP
+.B -keypass  password
+コマンド行で指定された別名に対応するキーストアエントリの非公開鍵を保護するの
+に使うパスワードを指定します。
+.B jarsigner
+を使って JAR ファイルに署名を付けるときは、パスワードが必要です。コマンド行で
+パスワードが指定されておらず、必要なパスワードがストアのパスワードと異なる
+場合は、パスワードの入力を求められます。
+.RS 
+.LP
+注: テストを目的とする場合、または安全であることがわかっているシステムで
+実行する場合以外は、コマンド行やスクリプトでパスワードを指定しないでください。
+また、password プロンプトでパスワードを入力すると、入力したパスワードがエコー
+され、そのまま画面に表示されます。このため、周囲にほかのユーザがいる場合は、
+パスワードを見られないように注意してください。
+.RE
+.TP
+.B -sigfile  file
+SF ファイルと .DSA ファイルの生成に使うベースファイル名を指定します。
+たとえば、file に DUKESIGN を指定すると、生成される .SF ファイルと 
+.DSA ファイルの名前は、それぞれ DUKESIGN.SF と DUKESIGN.DSA になります。
+これらのファイルは、署名付き JAR ファイルの META-INF ディレクトリに置かれます。
+.RS 
+.LP
+.I file
+に使用できる文字は「a-zA-Z0-9_-」です。つまり、文字、数字、下線、
+およびハイフンだけを使用できます。注: 
+.B .SF
+および 
+.B .DSA
+のファイル名では、小文字はすべて大文字に変換されます。
+.LP
+コマンド行で 
+.I -sigfile 
+オプションを指定しなかった場合、
+.B .SF 
+ファイルと 
+.B .DSA
+ファイルのベースファイル名は、コマンド行で指定された別名の先頭の 8 文字を
+すべて大文字に変換したものになります。別名が 8 文字未満の場合は、別名が
+そのまま使われます。別名の中に、署名ファイル名に使用できない文字が含まれている
+場合は、該当する文字を下線 (_) に置き換えてファイル名が作成されます。
+.TP 3
+\-sigalg  algorithm 
+.RS 3
+
+.LP
+JAR ファイルの署名に使用する署名アルゴリズムの名前を指定します。 
+.LP
+標準署名アルゴリズム名の一覧については、「Java Cryptography Architecture」( 
+http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)
+にある
+「
+.I Appendix A
+」を参照してください。このアルゴリズムは、JAR ファイルの署名に使用する秘密鍵と互換性のあるものでなければなりません。このオプションを指定しなかった場合、秘密鍵のタイプに応じて SHA1withDSA、MD5withRSA のいずれかが使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザがそのようなプロバイダを 
+.I \-providerClass
+オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。
+.LP
+.RE
+.TP 3
+\-digestalg  algorithm 
+.RS 3
+JAR ファイルのエントリをダイジェストする際に使用するメッセージダイジェストアルゴリズムの名前を指定します。 
+.LP
+標準メッセージダイジェストアルゴリズム名の一覧については、「Java Cryptography Architecture」(http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#appa)の
+「
+.I Appendix A
+」を参照してください。このオプションを指定しなかった場合、SHA\-1 が使用されます。指定されたアルゴリズムの実装を提供するプロバイダが静的にインストールされているか、あるいはユーザがそのようなプロバイダを 
+.I \-providerClass
+オプションを使って指定する必要があります。そうでない場合、コマンドの実行が失敗します。
+.RE
+.TP
+.B -signedjar  file
+署名付き JAR ファイルの名前を指定します。
+.RS 
+.LP
+コマンド行で名前を指定しなかった場合は、入力 JAR ファイル (署名の対象となる
+JAR ファイル) の名前と同じ名前が使われます。この場合、入力 JAR ファイルは署名
+付き JAR ファイルによって上書きされます。
+.RE
+.TP
+.B -verify
+コマンド行でこのオプションが指定されている場合は、指定された JAR ファイルが
+検証されます。JAR ファイルへの署名は行われません。検証が成功すると、
+「jar verified」というメッセージが表示されます。署名されていない JAR ファイル、
+またはサポートされていないアルゴリズム (RSA プロバイダがインストールされていない
+場合の RSA など) を使って署名された JAR ファイルを検証しようとすると、
+「jar is unsigned. (signatures missing or not parsable)」というメッセージが表示されます。
+.RS 
+.LP
+署名付き JAR ファイルは、
+.B jarsigner 
+または JDK 1.1 の 
+.B javakey 
+ツール、あるいはその両方を使って検証できます。
+.LP
+検証についての詳細は、「JAR ファイルの検証」を参照してください。
+.RE
+.TP
+.B -certs
+コマンド行で、
+.I -verify
+および
+.I -verbose 
+オプションとともにこのオプションが指定されている場合は、JAR ファイルの各署名者
+の証明書情報も出力されます。証明書情報には次のものが含まれます。
+.RS
+.TP 2
+\(bu
+署名者の公開鍵を証明する (
+.B .DSA
+ファイルに格納された) 証明書の種類の名前
+.TP 2
+\(bu
+証明書が X.509 証明書 (具体的には 
+.I java.security.cert.X509Certificate 
+のインスタンス) である場合は、署名者の識別名
+.LP
+キーストアの確認も行われます。コマンド行でキーストアの値が指定されていない
+場合、デフォルトのキーストアファイルがあれば、それが確認されます。署名者の
+公開鍵の証明書がキーストア内のエントリと一致した場合は、次の情報も表示
+されます。
+.TP 2
+\(bu
+署名者に該当するキーストアエントリの別名。この別名は括弧で囲まれます。
+ただし、キーストアではなく JDK 1.1 のアイデンティティデータベースに由来する
+署名者の場合は、括弧ではなく角括弧で囲まれます。
+.RE
+.TP
+.B -verbose
+コマンド行でこのオプションが指定されている場合、
+.B jarsigner
+は「冗長」モードで動作し、JAR の署名または検証の進行状況に関する追加情報を出
+力します。
+.TP
+.B -internalsf
+以前は、JAR ファイルの署名時に生成された 
+.B .DSA
+(署名ブロック) ファイルの中に、生成された 
+.B .SF
+ファイル (署名ファイル) の完全なコピーが符号化された形で含まれていました。この
+動作は変更になり、現在では、出力 JAR ファイル全体のサイズを小さくするために、
+デフォルトでは
+.B .SF 
+ファイルが 
+.B .DSA
+ファイルに含まれないようになっています。ただし、コマンド行で 
+.B -internalsf
+オプションを指定すると、以前と同じように動作します。このオプションは、テストを行う
+場合には便利ですが、それ以外には使用しないでください。このオプションを使用する
+と、有益な最適化が行われなくなります。
+.TP
+.B -sectionsonly
+コマンド行でこのオプションが指定されている場合、JAR ファイルの署名時に生成される 
+.B .SF
+ファイル (署名ファイル) には、マニフェストファイル全体のハッシュを含むヘッダは追加されません。この場合、.SF ファイルに含まれるのは、JAR ファイル内の各ソースファイルに関する情報およびハッシュだけです。詳細は、「署名 (\f3.SF\f1) ファイル」を参照してください。
+.RS 
+.LP
+デフォルトでは、最適化を行うために、マニフェストファイル全体のハッシュを含むヘッダ
+が追加されます。ヘッダが存在する場合は、JAR ファイルの検証時に、まずヘッダ内
+のハッシュが、マニフェストファイル全体のハッシュと実際に一致するかどうかが確認
+されます。ハッシュが一致する場合、検証は次の手順に進みます。ハッシュが一致
+しない場合は、効率的には劣る方法を使って検証を行います。具体的には、
+.B .SF 
+ファイル内の各ソースファイル情報セクションのハッシュが、マニフェストファイル内の
+対応するセクションのハッシュと一致するかどうかを確認します。
+.LP
+詳細は、「JAR ファイルの検証」を参照してください。
+.LP
+このオプションは、テストを行う場合には便利ですが、それ以外には使用しないで
+ください。このオプションを使用すると、有益な最適化が行われなくなります。
+.TP
+.B -protected
+\f2true\fP、\f2false\fP のいずれか。専用 PIN リーダなどの保護された認証パスを介してパスワードを指定する必要がある場合には、この値に \f2true\fP を指定してください。
+.RE
+.TP
+.B \-provider  provider_class_name
+サービスプロバイダがセキュリティプロパティファイル (\f2java.security\fP) のリストに
+入っていないときに、暗号化サービスプロバイダのマスタークラスファイルの
+名前を指定します。
+.LP
+\f2\-providerArg\fP \f2ConfigFilePath\fP オプションと組み合わせて使用します。keytool と jarsigner はプロバイダを動的にインストールします (ここで、\f2ConfigFilePath\fP はトークン設定ファイルへのパスです)。セキュリティプロパティファイル内で Sun PKCS#11 プロバイダが設定されていない場合に PKCS#11 キーストアを一覧表示するコマンドの例を次に示します。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jarsigner \-keystore NONE \-storetype PKCS11 \\
+.fl
+          \-providerClass sun.security.pkcs11.SunPKCS11 \\
+.fl
+          \-providerArg /foo/bar/token.config \\
+.fl
+          \-list
+.fl
+\fP
+.fi
+.RE
+.TP 3
+.B \-providerName providerName 
+\f2java.security\fP セキュリティプロパティファイル内で 2 つ以上のプロバイダが設定されている場合、\f2\-providerName\fP オプションを使って特定のプロバイダインスタンスを選択できます。このオプションの引数は、プロバイダの名前になります。 
+.LP
+Sun PKCS#11 プロバイダの場合、\f2providerName\fP は \f2SunPKCS11\-\fP\f2TokenName\fP の形式になります。ここで、\f2TokenName\fP は、プロバイダインスタンスの設定時に使用した名前のサフィックスです。詳細については、
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/p11guide.html#KeyToolJarSigner#ATTRS
+の
+.na
+「\f2configuration attributes table\fP」を参照してください。たとえば、次のコマンドは、名前サフィックス \f2SmartCard\fP を持つ PKCS#11 キーストアプロバイダインスタンスの内容を一覧表示します。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jarsigner \-keystore NONE \-storetype PKCS11 \\
+.fl
+        \-providerName SunPKCS11\-SmartCard \\
+.fl
+        \-list
+.fl
+\fP
+.fi
+.RE
+.TP
+.B \-Jjavaoption
+指定した 
+.I javaoption 
+文字列を直接実行時システムに渡します。
+\f3jarsigner\f1 は、実際には Java インタプリタに対する「ラッパー」です。このオプションには、空白を含めることはできません。このオプションは、実行環境またはメモリ使用を調整する場合に便利です。指定できるフラグを一覧表示するには、コマンド行で 
+.I java -h
+または 
+.I java -X 
+と入力してください。
+.LP
+.TP 3
+\-tsa url 
+JAR ファイル署名時にコマンド行に\f2「-tsa http://example.tsa.url」\fPと入力した場合、署名のタイムスタンプが生成されます。\f2http://example.tsa.url\fP という URL が、TSA (Time Stamping Authority) の場所を特定します。これは、\f2\-tsacert\fP オプション経由で見つかったどの URL よりも優先されます。\f2\-tsa\fP オプションを使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要はありません。 
+.LP
+タイムスタンプを生成するために、\f2jarsigner\fP は、
+.fi
+http://www.ietf.org/rfc/rfc3161.txt
+の
+.na
+「\f2RFC 3161\fP」で規定された TSP (Time\-Stamp Protocol) を使って TSA と通信します。成功すると、TSA から返されたタイムスタンプトークンが、署名とともに署名ブロックファイル内に格納されます。 
+.LP
+.TP 3
+\-tsacert alias 
+JAR ファイル署名時にコマンド行に\f2「-tsacert alias」\fPと表示された場合、署名のタイムスタンプが生成されます。\f2alias\fP は、キーストア内で現在有効になっている TSA の公開鍵証明書を特定します。そのエントリの証明書内で、TSA の場所を特定する URL を含む Subject Information Access 拡張が検索されます。 
+.LP
+\f2\-tsacert\fP を使用する場合、TSA の公開鍵証明書がキーストア内に存在している必要があります。 
+.LP
+.TP 3
+\-altsigner class 
+使用する代替署名機構を指定します。この完全修飾クラス名は、
+.I com.sun.jarsigner.ContentSigner
+抽象クラスを拡張するクラスファイルを特定します。このクラスファイルへのパスは、
+.I \-altsignerpath
+オプションを使って定義します。
+.I \-altsigner
+オプションが指定された場合、
+.I jarsigner
+はその指定されたクラスが提供する署名機構を使用します。それ以外の場合、
+.I jarsigner
+はデフォルトの署名機構を使用します。 
+.LP
+たとえば、\f2com.sun.sun.jarsigner.AuthSigner\fP という名前のクラスが提供する署名機構を使用するには、\f2jarsigner\fP オプション\f2「-altsigner com.sun.jarsigner.AuthSigner」\fPを使用します。
+.LP
+.TP 3
+\-altsignerpath classpathlist 
+クラスファイル (このクラスファイル名は前述の \f2\-altsigner\fP オプションを使って指定) へのパスと、そのクラスが依存するすべての JAR ファイルへのパスを指定します。そのクラスファイルが JAR ファイル内に存在している場合には、次の例で示すように、その JAR ファイルへのパスを指定します。 
+.LP
+絶対パス、現在のディレクトリに対する相対パスのいずれかを指定できます。複数のパスまたは JAR ファイルを \f2classpathlist\fP に含める場合には、Solaris 上ではコロン (\f2:\fP)、Windows 上ではセミコロン (\f2;\fP) をそれぞれ使ってエントリを区切ってください。このクラスがすでに検索パスに含まれている場合、このオプションを指定する必要はありません。 
+.LP
+クラスファイルを含む JAR ファイルへのパスを指定する例: 
+.RS 3
+
+.LP
+.LP
+\f2\-altsignerpath /home/user/lib/authsigner.jar\fP
+.LP
+.RE
+.LP
+JAR ファイル名が含まれている点に注意してください。 
+.LP
+クラスファイルを含む JAR ファイルへのパスを指定する例: 
+.RS 3
+.LP
+\f2\-altsignerpath /home/user/classes/com/sun/tools/jarsigner/\fP
+.LP
+.RE
+.LP
+JAR ファイル名が含まれていない点に注意してください。  
+.RE
+.LP
+.SH "例"
+.LP
+.SS 
+JAR ファイルの署名
+.LP
+.IX "jarsigner" "Signing a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+.B bundle.jar 
+という名前の JAR ファイルがあり、このファイルに、キーストアの別名が jane であるユーザの非公開鍵を使って、署名を付けるとします。キーストアは、mystore という名前で working ディレクトリにあり、キーストアのパスワードは mypass、
+.I jane 
+の非公開鍵のパスワードは j638klm とします。この場合、次のコマンドを実行すると、JAR ファイルに署名を付けて sbundle.jar という署名付き JAR ファイルを作成できます。
+.LP
+.ft 3
+.nf
+jarsigner \-keystore "/working/mystore" \-storepass myspass
+   -keypass j638klm -signedjar sbundle.jar bundle.jar jane
+.fi
+.ft 1
+.LP
+上のコマンドでは 
+.I \-sigfile
+オプションが指定されていないので、署名付き JAR ファイルに格納される 
+.B .SF
+ファイルと 
+.B .DSA
+ファイルの名前は、別名に基づくデフォルトの名前になり、それぞれ 
+.I JANE.SF
+と 
+.I JANE.DSA
+になります。
+.LP
+ストアのパスワードと非公開鍵のパスワードをあとで入力する場合は、
+上のコマンドを短縮して次のように入力できます。
+.LP
+.ft 3
+.nf
+jarsigner \-keystore /working/mystore
+   -signedjar sbundle.jar bundle.jar jane
+.fi
+.ft 1
+.LP
+デフォルトのキーストア (ホームディレクトリ内の
+.B .keystore
+という名前のキーストア) を使用する場合は、次に示すように、キーストアの指定を
+省略できます。
+.LP
+.ft 3
+.nf
+jarsigner \-signedjar sbundle.jar bundle.jar jane
+.fi
+.ft 1
+.LP
+また、署名付き JAR ファイルで入力 JAR ファイル (
+.I bundle.jar
+) を上書きする場合は、
+.I -signedjar
+オプションの指定も省略できます。
+.LP
+.ft 3
+.nf
+jarsigner bundle.jar jane
+.fi
+.ft 1
+.LP
+.SS 
+署名付き JAR ファイルの検証
+.LP
+.IX "jarsigner" "Verifying a Signed JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.LP
+次に示すのは、署名付き JAR ファイルを検証し、署名が有効で JAR ファイルが
+改変されていないことを確認するためのコマンド例です。
+.LP
+.ft 3
+.nf
+jarsigner \-verify sbundle.jar
+.fi
+.ft 1
+.LP
+検証が成功すると、次のようなメッセージが表示されます。
+.LP
+.ft 3
+.nf
+jar verified.
+.fi
+.ft 1
+.LP
+検証が成功しなかった場合は、エラーメッセージが表示されます。
+.LP
+.I -verbose
+オプションを使うと、より多くの情報が表示されます。次に示すのは、
+.I -verbose 
+オプションを指定した 
+.B jarsigner 
+の実行例とその出力結果です。
+.LP
+.ft 3
+.nf
+jarsigner -verify -verbose sbundle.jar
+
+             198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF
+             199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF
+            1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA
+      smk   2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class
+      smk    849 Fri Sep 26 16:12:46 PDT 1997 test.class
+
+        s = signature was verified
+        m = entry is listed in manifest
+        k = at least one certificate was found in keystore
+
+      jar verified.
+.fi
+.ft 1
+.LP
+.SS 
+証明書情報を使った検証
+.LP
+.IX "jarsigner" "Verification with Certificate Information" "\fLjarsigner\fP \(em JAR signing and verification tool "
+
+検証時に、
+.I -verify 
+と 
+.I -verbose 
+オプションに加えて 
+.I -certs
+オプションを指定した場合は、JAR ファイル内の各署名者の証明書情報も出力されま
+す。これには、証明書のタイプ、署名者の識別名情報 (X.509 証明書の場合)、および、
+JAR ファイルの公開鍵の証明書がキーストアエントリの公開鍵の証明書と一致する場合
+には、括弧で囲まれた署名者のキーストア別名が含まれます。たとえば、次のように
+出力されます。
+.LP
+.ft 3
+.nf
+ jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar
+
+      198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF
+      199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF
+     1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA
+      208 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.SF
+     1087 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.DSA
+smk  2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class
+
+ X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest)
+ X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
+
+ s = signature was verified
+ m = entry is listed in manifest
+ k = at least one certificate was found in keystore
+
+jar verified.
+.fi
+.ft 1
+.LP
+署名者の証明書が X.509 証明書でない場合は、識別名情報は表示されず、証明書の
+タイプと別名だけが表示されます。たとえば、証明書が PGP 証明書で、別名が bob の
+場合は、次のように表示されます。
+.LP
+.ft 3
+.nf
+PGP, (bob)
+.fi
+.ft 1
+.LP
+.SS 
+アイデンティティデータベース署名者を含む JAR ファイルの検証
+.LP
+.IX "jarsigner" "Verification of a JAR File" "\fLjarsigner\fP \(em JAR signing and verification tool "
+JAR ファイルが、JDK 1.1 の
+.B javakey
+ツールを使って署名されている場合、署名者はアイデンティティデータベース内の
+別名です。この場合、検証の出力には i という記号が含まれます。JAR ファイルが、
+アイデンティティデータベース内の別名とキーストア内の別名の両方によって署名
+されている場合は、k と i の両方が表示されます。
+.LP
+.I -certs
+オプションを指定した場合、キーストアの別名は括弧で囲まれるのに対し、アイデンティ
+ティデータベース内の別名は角括弧で囲まれて表示されます。たとえば、次のように
+表示されます。
+.LP
+.ft 3
+.nf
+jarsigner \-keystore /working/mystore \-verify \-verbose \-certs writeFile.jar
+
+      198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF
+      199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF
+     1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA
+      199 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.SF
+     1013 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.DSA
+smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html
+
+ X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane)
+ X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke]
+
+ s = signature was verified
+ m = entry is listed in manifest
+ k = at least one certificate was found in keystore
+ i = at least one certificate was found in identity scope
+
+jar verified.
+.fi
+.ft 1
+.LP
+別名 duke は角括弧で囲まれているので、この別名はキーストアの別名ではなく、
+アイデンティティデータベースの別名です。
+.SH "関連項目"
+.LP
+
+.LP
+.RS 3
+.TP 2
+o
+jar ツールのドキュメント 
+.TP 2
+o
+keytool ツールのドキュメント 
+.TP 2
+o
+\f3jarsigner\fP ツールの使用例については、「Java Tutorial」
+(http://java.sun.com/docs/books/tutorial/trailmap.html)
+の「Security」( http://java.sun.com/docs/books/tutorial/security1.2/index.html) 
+を参照
+.na
+.RE
+
+.LP
+
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/java.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,714 @@
+'\" t
+.\"
+.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\"
+.\" 
+.TH java 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.SH "名前"
+java \- Java アプリケーション起動プログラム
+.SH "形式"
+.B java 
+[ 
+.B options 
+] 
+.B class 
+[ 
+.B argument ... 
+]
+.LP
+.B java 
+[ 
+.B options 
+] 
+.B \-jar " file.jar"
+.if n .ti +5n
+[ 
+.B argument ... 
+]
+.LP
+.TP 15
+.B options
+コマンド行オプション。
+.TP
+.B class
+呼び出されるクラスの名前。
+.TP
+.B file.jar
+呼び出されるファイルの名前。必ず
+.I \-jar
+と同時に使用される。
+.TP
+.B argument
+.B main
+関数に渡される引数。
+.SH "機能説明"
+.IX "Java interpreter" "" "Java interpreter \(em \fLjava\fP"
+.IX "java" "" "\fLjava\fP \(em Java interpreter"
+.LP
+.B java
+ツールは、Java アプリケーションを起動します。
+.B java
+ツールは、Java Runtime Environment を起動したあと、指定されたクラスをロードし、このクラスの
+.B main 
+メソッドを呼び出して Java アプリケーションを起動します。
+.LP
+このメソッドは
+.B public
+および
+.B static
+で宣言され、値を返さず、パラメータとして
+.I String
+配列を使用できなければなりません。
+メソッド宣言は次のようにする必要があります。
+.LP
+.ft 3
+.nf
+   public static void main(String args[])
+.fi
+.ft 1
+.LP
+デフォルトでは、オプションではない最初の引数が、呼び出すクラスの名前に
+なります。この名前には、完全指定のクラス名を使用する必要があります。
+.B \-jar
+オプションを指定した場合、オプションではない最初の引数は、アプリケーションの
+クラスファイルとリソースファイルを含む JAR アーカイブの名前になります。
+この場合、Main-Class マニフェストヘッダで指定されたクラスがスタート
+アップクラスになります。 
+.LP
+Java Runtime は、ブートストラップクラスパス、インストール型拡張機能、
+およびユーザクラスパスの 3 つの場所から、起動クラスとその他の
+使用するクラスを探します。 
+.LP
+クラス名または JAR ファイル名のあとにあるオプションではない引数は、
+main 関数に渡されます。 
+.LP
+.SH "オプション"
+起動コマンドには、現在の実行環境および将来のリリースでサポートされる
+標準オプションがあります。
+また、仮想マシンの現在の実装では、非標準オプションをサポートしています。
+この仕様は将来変更される可能性があります。
+.SS "標準オプション"
+.IX "java" "Standard Options" "\fLjava\fP \(em Java interpreter"
+.TP 3
+.LP
+.B \-client
+Java HotSpot Client
+.SM VM\s0
+を選択します。
+64 ビット対応 JDK は現時点では、このオプションを無視し、代わりに Java Hotspot Server VM を使用します。
+デフォルトの VM の選択については、
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
+の
+.na
+「\f2Server\-Class Machine Detection\fP」を参照してください。
+.TP
+.B \-server
+Java HotSpot Server 
+VM 
+を選択します。
+64 ビット対応 JDK 上では、サポートされるのは Java Hotspot Server VM だけであるため、\-server オプションが暗黙的に選択されます。 
+デフォルトの VM の選択については、
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/vm/server\-class.html
+の
+.na
+「\f2Server\-Class Machine Detection\fP」を参照してください。
+.TP
+.B \-agentlib:libname[=options]
+ネイティブのエージェントライブラリ
+.I libname
+を読み込みします。次に例を示します。
+.LP
+.RS 5
+.nf
+\-agentlib:hprof 
+\-agentlib:jdwp=help 
+\-agentlib:hprof=help 
+.fi
+.RE
+.LP
+詳細は、
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting
+の
+.na
+「\f2JVMTI Agent Command Line Options\fP」を参照してください。
+.TP
+.B \-agentpath:pathname[=options]
+ネイティブのエージェントライブラリをフルパス名を使用して読み込みします。
+詳細は、
+.fi
+http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html#starting
+の
+.na
+「\f2JVMTI Agent Command Line Options\fP」を参照してください。
+.TP
+.B \-classpath " classpath"
+.TP
+.B \-cp " classpath"
+クラスファイルを探すディレクトリ、JAR アーカイブ、および ZIP アーカイブのリストを指定します。クラスパスの各エントリはコロン (:) で区切ります。
+.B \-classpath 
+または 
+.B \-cp
+を指定すると、これらのオプションの値によって 
+.SB CLASSPATH
+環境変数の設定は上書きされます。 
+.LP
+.B \-classpath
+と
+.B \-cp 
+を使用せず、
+.SB CLASSPATH
+も設定されていない場合、ユーザクラスパスは現在のディレクトリ (.) になります。 
+.LP
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
+.br
+.br
+たとえば、ディレクトリ 
+.I foo
+に 
+.I a.jar
+と 
+.I b.JAR
+が含まれている場合、クラスパス要素 
+.I foo/*
+は 
+.I A.jar:b.JAR
+に展開されます。ただし、JAR ファイルの順番は指定されません。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。
+* だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。
+.I CLASSPATH
+環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、
+.I System.getenv
+("
+.I CLASSPATH
+")
+呼び出しのように環境に問い合わせを行わない限り、Java プログラムが展開されていないワイルドカードを認識することはありません。   
+.LP
+クラスパスの詳細については、「クラスパスの設定」を参照してください。  
+.TP
+.B \-Dproperty=value
+システムプロパティの値を設定します。 
+.TP
+.B \-d32
+.TP
+.B \-d64
+それぞれ 32 ビット環境、64 ビット環境でプログラムを実行することを要求します。要求された環境がインストールされていないかサポートされていない場合は、エラーが報告されます。
+.LP
+現時点では、64 ビット操作をサポートしているのは Java HotSpot Server VM 
+だけであり、
+.B \-server
+オプションでは、
+.B \-d64 
+が暗黙的に使用されます。
+したがって、\-d64 使用時には「-client」オプションは無視されます。
+この仕様は将来変更される場合があります。
+.LP
+.B \-d32
+と
+.B \-d64
+のどちらも指定しなかった場合、
+64 ビット専用システムを除いて、
+デフォルトでは 32 ビット環境で実行されます。
+この仕様は将来変更される場合があります。
+.TP 3
+\-enableassertions[:<package name>"..." | :<class name> ]
+.TP 3
+\-ea[:<package name>"..." | :<class name> ]
+.LP
+表明を有効にします。デフォルトで、表明は無効です。
+.sp 1n
+引数を指定しなくても、
+.BR enableassertions
+または
+.BR \-ea 
+で表明が有効になります。
+「...」で終わる引数を 1 つ指定すると、
+スイッチにより、指定したパッケージおよびすべての
+サブパッケージ内の表明が有効になります。
+「...」という引数を指定すると、スイッチにより、
+現在の作業用ディレクトリ内にある名前のないパッケージ内の
+表明が有効になります。
+「...」で終わらない引数を 1 つ指定すると、
+スイッチにより、指定したクラス内の表明が有効になります。
+.LP
+1 行のコマンドに、これらのスイッチの複数のインスタンスが
+含まれている場合、クラスを読み込む前に、正しく処理されます。
+たとえば、パッケージ
+.I com.wombat.fruitbat 
+ (およびすべてのサブパッケージ) 内だけの有効な表明を
+含んだプログラムを実行する場合、次のコマンドを使用できます。
+.TP
+.BR java -ea:com.wombat.fruitbat... <Main Class>
+.LP
+.BR \-enableassertions 
+および
+.BR \-ea 
+スイッチは、すべての
+クラスローダおよびシステムクラス (クラスローダを持たない) に適用されます。
+この規則には 1 つ例外があります。引数がない形式の場合、
+スイッチはシステムに適用されません。これを利用して、簡単に、
+システムクラスを除くすべてのクラスの表明を有効にすることができます。
+すべてのシステムクラスの表明を有効にする個別のスイッチも
+用意されています。
+.BR \-enablesystemassertions 
+を参照してください。
+.TP 3
+\-disableassertions[:<package name>"..." | :<class name> ]
+.TP 3
+\-da[:<package name>"..." | :<class name> ]
+.LP
+表明を無効にします。これはデフォルトです。
+.sp 1n
+引数を指定せずに、
+.BR disableassertions 
+または
+.BR \-da 
+で表明を無効にします。
+「...」で終わる引数を 1 つ指定すると、
+スイッチにより、指定したパッケージおよびすべての
+サブパッケージ内の表明が無効になります。
+「...」という引数を指定すると、スイッチにより、現在の作業用
+ディレクトリ内にある名前のないパッケージ内の表明が無効に
+なります。「...」で終わらない引数を 1 つ指定すると、スイッチにより、
+指定したクラス内の表明が無効になります。
+.LP
+パッケージ
+.I com.wombat.fruitbat 
+の表明は有効に、クラス
+.I com.wombat.fruitbat.Brickbat
+の表明は無効にしてプログラムを実行するには、
+次のコマンドを使用します。
+
+java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat <Main Class>
+
+.BR \-disableassertions 
+および
+.BR \-da 
+スイッチは、すべての
+クラスローダおよびシステムクラス (クラスローダを持たない) に適用されます。
+この規則には 1 つ例外があります。
+引数を持たない形式の場合、スイッチはシステムに適用されません。
+これを利用して、簡単に、
+システムクラスを除くすべてのクラス内の表明を有効にすることができます。
+すべてのシステムクラス内内の表明を有効にする個別のスイッチも
+用意されています。
+.BR \-disablesystemassertions 
+を参照してください。
+.TP
+.BR \-enablesystemassertions
+.TP 3
+\-esa
+すべてのシステムクラスの表明を有効にします (システムクラスの
+デフォルトの表明ステータスを true に設定します)。
+.TP
+.BR \-disablesystemassertions
+.TP 3
+\-dsa
+すべてのシステムクラスの表明を無効にします。
+.TP 3
+\-jar
+JAR の中にカプセル化されたプログラムを実行します。最初の引数は、起動クラスの名前ではなく、JAR アーカイブファイルの名前になります。
+このオプションが動作するためには、JAR ファイルのマニフェストに形式 \f3Main-Class:\f1\f2classname\f1 の行が入っていなければなりません。
+.I classname
+は、ユーザのアプリケーションの開始点となる 
+.I public static void main(String[] args) 
+メソッドを持つクラスを識別します。
+Jar ファイルと Jar ファイルのマニフェストを扱う方法については、Jar ツールのリファレンスページと、
+.na
+\f2Java Tutorial\fP
+.fi
+(http://java.sun.com/docs/books/tutorial/jar) 
+の Jar トレールを参照してください。
+.LP
+このオプションを使用するときは、JAR ファイルがすべてのユーザクラスのソースとなるため、他のユーザクラスパスの設定は無視されます。
+.LP
+.B "java \-jar" 
+オプションで実行できる JAR ファイルでは、
+.B "java \-jar" 
+なしでも実行できるように、実行権限を設定できます。
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html
+の
+.na
+「\f2Java Archive (JAR) Files\f」を参照してください。
+.TP
+.B \-javaagent:jarpath[=options]
+Java プログラミング言語エージェントを読み込みます。
+http://java.sun.com/javase/6/docs/api/java/lang/instrument/package\-summary.html
+の
+「\f2java.lang.instrument\fP」を参照してください。
+.LP
+.B \-verbose
+.LP
+.TP 3
+\-verbose: class
+クラスが読み込まれるたびにクラスに関する情報を表示します。 
+.PD
+.LP
+.TP 3
+\-verbose:gc
+ガベージコレクションイベントが発生するたびに報告します。 
+.TP 3
+.B \-verbose:jni
+ネイティブメソッドおよびその他の Java Native Interface (JNI) の使用に関する
+情報を報告します。 
+.TP 3
+.B \-version
+バージョン情報を表示して終了します。 
+.TP 3
+.B \-version:release
+コマンド行に指定されたクラスまたは JAR ファイルが、\f2release\fP で指定されたバージョンを必要としていることを示します。起動された java コマンドのバージョンがこの指定内容を満たさず、かつ適切な実装がシステム上で見つかった場合には、その適切な実装が使用されます。
+.LP
+\f2release\fP では、特定のバージョンを指定できるだけでなく、バージョン文字列と呼ばれるバージョンのリストを指定することもできます。バージョン文字列は、いくつかのバージョン範囲を空白で区切った形式の順序付きリストです。バージョン範囲は、バージョン ID、バージョン ID の後にアスタリスク (*) を付加したもの、バージョン ID の後にプラス記号 (+) を付加したもの、2 つのバージョン範囲をアンパサンド (&) で結合したもの、のいずれかになります。アスタリスクはプレフィックス一致を、プラス記号は指定されたバージョン以上を、アンパサンドは 2 つのバージョン範囲の論理積を、それぞれ意味します。次に例を示します。 
+.nf
+\f3
+.fl
+-version:"1.5.0_04 1.5*&1.5.1_02+"
+.fl
+\fP
+.fi
+上記の意味は、バージョン 1.5.0_04、または 1.5.1_02 以上で 1.5 をバージョン ID プレフィックスとして持つバージョン、のいずれかをクラスまたは JAR ファイルが必要とする、ということです。バージョン文字列の厳密な構文や定義については、「Java Network Launching Protocol & API Specification (JSR\-56)」の「Appendix A」を参照してください。
+.LP
+JAR ファイルの場合は通常、バージョン要件をコマンド行に指定するよりも、JAR ファイルのマニフェスト内に指定することが推奨されています。 
+.LP
+このオプションの使用に関する重要なポリシー情報については、後述の「注」節を参照してください。
+.TP
+.B \-showversion
+バージョン情報を表示して、実行を継続します。
+.TP
+.B \-?
+.PD 0
+.TP
+.B \-help
+使用法を表示して終了します。 
+.PD
+.TP
+.B \-X
+非標準オプションに関する情報を表示して終了します。 
+.LP
+.SS "非標準オプション"
+.LP
+.IX "java" "Non-Standard Options" "\fLjava\fP \(em Java interpreter"
+.LP
+.TP 3
+.B \-Xint
+インタプリタ専用モードで動作します。ネイティブコードへのコンパイルは
+無効になり、すべてのバイトコードがインタプリタによって実行されます。
+Java HotSpot VM 適応型コンパイラによって得られるパフォーマンス上の
+利点は、このモードでは実現されません。 
+.TP 3
+.B \-Xbatch
+バックグラウンドコンパイルを無効にします。
+通常、VM ではメソッドをバックグラウンドタスクとしてコンパイルします。
+このとき、バックグラウンドコンパイルが終了するまでは、
+インタプリタモードでメソッドが実行されます。
+.B \-Xbatch 
+フラグを使用すると、バックグラウンドコンパイルが
+無効になるため、すべてのメソッドのコンパイルは完了するまで
+フォアグラウンドのタスクとして処理されます。
+.TP 3
+.B \-Xbootclasspath: bootclasspath
+ブートクラスファイルを探すため、ディレクトリ、JAR アーカイブ、および ZIP 
+アーカイブをコロンで区切ったリストを指定します。指定されたパスに
+存在するブートクラスファイルは、JDK に含まれる
+ブートクラスファイルの代わりに使われます。
+注: rt.jar 内のクラスを上書きする目的でこのオプションを
+使用するアプリケーションは配備しないでください。
+配備すると、Java Runtime Environment 
+バイナリコードライセンス違反になることがあります。
+.TP 3
+.B \-Xbootclasspath/a:path
+デフォルトのブートストラップクラスパスに追加するディレクトリ、
+.SM JAR
+アーカイブ、および
+.SM ZIP
+アーカイブのパスをコロンで区切って指定します。 
+.TP 3
+.B \-Xbootclasspath/p:path
+デフォルトのブートストラップクラスパスの前に追加する
+ディレクトリ、
+.SM JAR
+アーカイブ、および
+.SM ZIP
+アーカイブのパスをコロンで区切って指定します。
+注: このオプションを、
+.B rt.jar
+内のクラスをオーバーライド
+する目的で使用するアプリケーションは指定しないでください。
+指定すると、Java Runtime Environment 
+バイナリコードライセンス違反になることがあります。 
+.TP 3
+.B \-Xcheck:jni
+Java Native Interface (JNI) 機能に対して
+追加チェックを実行します。特に、Java 仮想マシン (JVM) は 
+JNI 要求を処理する前に、JNI 機能に渡される
+パラメータおよび実行環境データを検証します。
+無効なデータを検出した場合、ネイティブコードに
+問題があると判断し、Java 仮想マシンは
+致命的なエラーで終了します。
+このオプションを使用すると、
+パフォーマンスが低下します。
+.TP 3
+.B \-Xfuture
+厳密なクラスファイル形式の検査を実行します。下位互換性を維持
+するため、JDK の Virtual Machine で実行されるデフォルトの
+形式検査は、JDK ソフトウェアの 1.1.x バージョンで実行される検査よりも
+厳密ではありません。
+.B \-Xfuture
+フラグを使用すると、クラスファイル形式を
+より仕様に準拠したものにするための、さらに厳密なクラスファイル形式検査が
+有効になります。開発者が新しいコードを開発する際には、このフラグの
+使用を推奨します。Java アプリケーション起動ツールの
+将来のリリースでは、より厳密な検査がデフォルトになるからです。 
+.TP 3
+.B \-Xnoclassgc
+クラスのガベージコレクションを無効にします。
+このオプションを使用すると、ロード済みクラスからメモリが回復されることがなくなるため、全体的なメモリ使用量が増大します。この場合、アプリケーションによっては OutOfMemoryError がスローされる可能性があります。
+.TP 3
+.BI \-Xincgc
+インクリメンタルガベージコレクタを有効にします。
+インクリメンタルガベージコレクタは、デフォルトでは
+無効に設定されていますが、有効にするとプログラムの実行中の
+ガベージコレクションによる停止を防ぎます。
+インクリメンタルガベージコレクタは、場合によってはプログラムと同時に
+実行されます。同時に実行されている間は、プログラムで利用可能な
+プロセッサ能力が減少します。
+.TP 3
+.B \-Xloggc:file
+.BR \-verbose:gc 
+と同様、各ガベージコレクションイベントで
+レポートを作成し、このデータを
+.I file 
+に記録します。
+.I \-verbose:gc 
+により入手できる情報に加えて、レポートされるイベントには
+最初のガベージコレクションイベントからの経過時間 (秒数) が付けられます。
+.sp 1
+ネットワークの遅延による JVM の停止を避けるために、このファイルの
+記憶域として常にローカルファイルシステムを使用します。
+このファイルは、フルファイルシステムおよびロギングが不完全なファイル
+に追加される場合、切り詰められることがあります。
+コマンド行で
+.I \-verbose:gc 
+といっしょに指定された場合、このオプションが優先されます。
+.TP 3
+.B \-Xmsn
+メモリ割り当てプールの初期サイズを指定します。
+指定する値は、1M バイトよりも大きな 1024 の倍数でなければなりません。
+文字
+.B k 
+または
+.B K
+を付けると K バイト、文字
+.B m 
+または
+.B M
+を付けると M バイトを表します。
+デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください
+.br
+例:
+.LP
+.RS 5
+.nf
+\-Xms6291456
+\-Xms6144k
+\-Xms6m
+.fi
+.RE
+.TP 3
+.B \-Xmxn
+メモリ割り当てプールの最大サイズをバイト単位で指定します。
+指定する値は、2M バイトよりも大きな 1024 の倍数でなければなりません。
+文字
+.B k 
+または
+.B K
+を付けると K バイト、文字
+.B m 
+または
+.B M
+を付けると M バイトを表します。
+デフォルト値は、実行時にシステムの設定に基づいて選択されます。詳細については、「HotSpot Ergonomics」を参照してください
+.br
+例:
+.LP
+.RS 5
+.nf
+\-Xmx83886080
+\-Xmx81920k
+\-Xmx80m
+.fi
+.RE
+.LP
+Solaris 7 および Solaris 8 SPARC プラットフォームの場合、この値の上限はおよそ 4000m からオーバーヘッドの量を引いたものであり、Solaris 2.6 および x86 プラットフォームの場合は 2000m からオーバーヘッドの量を引いたものです。
+Linux プラットフォームの場合の上限は、およそ
+2000m からオーバーヘッドの量を引いたものです。
+.TP 3
+.BI \-Xprof
+実行中のプログラムのプロファイルを生成し、プロファイリングデータを
+標準出力に送ります。このオプションは、プログラム開発に役立つ
+ユーティリティとして提供されているもので、本番稼動システムでの使用を
+目的としたものではありません。 
+.TP 3
+\-Xrs
+Java 仮想マシン (JVM) によるオペレーティングシステムシグナルの利用
+を減らします。
+.LP
+前回のリリースではシャットダウンフック機能が追加され、
+Java アプリケーションを順番にシャットダウンできるようになりました。
+この機能により、JVM が異常終了した場合でも、シャットダウン時に
+クリーンアップコード (データベース接続を閉じる、など) を
+実行できるようになりました。
+.LP
+Sun の JVM は、シグナルをキャッチして異常な JVM 終了
+に対するシャットダウンフックを実装します。JVM は、SIGHUP、SIGINT、SIGTERM を
+使用してシャットダウンフックの実行を開始します。
+.LP
+JVM  では、同様の機構を使用して、1.2 以前のデバッグ用の
+スレッドスタックダンプ機能を実装しています。Sun の JVM は、
+SIGQUIT を使用してスレッドダンプを実行します。
+.LP
+JVM を組み込んだアプリケーションは、SIGINT や SIGTERM のような
+シグナルを頻繁にトラップする必要があります。このような場合、JVM の
+シグナルハンドラとの間に干渉が発生する可能性があります。
+このような干渉を避けるために、\-Xrs コマンド行オプションを
+使用できます。
+Sun の JVM で \-Xrs が使用されると、SIGINT、SIGTERM、SIGHUP、
+および SIGQUIT のシグナルマスクは JVM によって変更されず、
+これらのシグナルのシグナルハンドラはインストールされません。
+.LP
+\-Xrs を指定することによって、影響が 2 つあります。
+.RS 3
+.TP 2
+*
+SIGQUIT スレッドダンプは使用できません。
+.TP 2
+*
+シャットダウンフックの実行は、ユーザコードが受け持ちます。
+たとえば JVM が終了するときに System.exit() を呼び出します。
+.TP
+.B \-Xssn
+スレッドスタックサイズを設定します。
+.TP
+.BI \-XX:+UseAltSigs
+VM ではデフォルトで 
+.I SIGUSR1 
+および 
+.I SIGUSR2 
+を使用しますが、
+.I SIGUSR1 
+および 
+.I SIGUSR2 
+をシグナル連鎖するアプリケーションと
+競合する場合があります。
+.I \-XX:+UseAltSigs 
+オプションは、VM にデフォルトとして
+.I SIGUSR1 
+と 
+.I SIGUSR2 
+以外のシグナルを使用させます。
+.LP
+.SH "注"
+.LP
+
+.LP
+\f3\-version:\fP\f2release\fP コマンド行オプションでは、どんなに複雑にリリースを指定してもかまいません。ただし、現実的なリリース指定の限られたサブセットを使用するだけでも適切なポリシーを表現できるため、それらのサブセットのみが完全にサポートされます。それらのポリシーを次に示します。 
+.RS 3
+.TP 3
+1.
+任意のバージョン。これは、このオプションを使用しないことで表現できます。 
+.TP 3
+2.
+ある特定のバージョン ID よりも大きい任意のバージョン。次に例を示します。 
+.nf
+\f3
+.fl
+"1.5.0_03+"
+.fl
+\fP
+.fi
+.LP
+この場合、1.5.0_03 よりも大きい任意のバージョンが使用されます。これは、指定されたバージョンで特定のインタフェースが導入された (あるいはそのバグが修正された) 場合に便利です。  
+.TP 3
+3.
+ある特定のバージョン ID よりも大きいバージョン。ただし、そのリリースファミリの上限によって制限するもの。次に例を示します。 
+.TP
+"1.5.0_03+&1.5*"
+.TP 3
+4.
+上の項目 2 または 3 の「OR」表現。次に例を示します。 
+.nf
+\f3
+.fl
+"1.4.2_05+&1.4* 1.5+"
+.fl
+\fP
+.fi
+これは項目 2 に似ていますが、ある変更が特定のリリース (1.5) で導入されたが、その同じ変更が以前のリリースのアップデートでも利用可能になった、という場合に便利です。 
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.RS 3
+.TP 2
+*
+javac \- Java プログラム言語コンパイラ
+.TP 2
+*
+jdb \- Java アプリケーションデバッガ
+.TP 2
+*
+javah \- C ヘッダとスタブファイルジェネレータ
+.TP 2
+*
+jar \- JAR アーカイブツール
+.TP 2
+*
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html
+の
+.na
+「\f2The Java Extensions Framework\fP」
+.TP 2
+*
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/security/index.html
+の
+.na
+「\f2Security Features\fP」
+.TP 2
+*
+.fi
+http://java.sun.com/docs/hotspot/VMOptions.html
+の
+.na
+「\f2HotSpot VM Specific Options\fP」
+.RE
+
+.LP
+
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/javac.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,933 @@
+.'" t
+."
+." Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+."
+." This code is free software; you can redistribute it and/or modify it
+." under the terms of the GNU General Public License version 2 only, as
+." published by the Free Software Foundation.
+."
+." This code is distributed in the hope that it will be useful, but WITHOUT
+." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+." version 2 for more details (a copy is included in the LICENSE file that
+." accompanied this code).
+."
+." You should have received a copy of the GNU General Public License version
+." 2 along with this work; if not, write to the Free Software Foundation,
+." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+."
+." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+." `
+.TH javac 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+." Generated by html2man
+
+.LP
+.SH 名前
+javac \- Java プログラミング言語コンパイラ
+.LP
+.SH "形式"
+.LP
+
+.LP
+.nf
+\f3
+.fl
+        \fP\f3javac\fP [ options ] [ sourcefiles ] [ classes ] [ @argfiles ]
+.fl
+      
+.fl
+.fi
+
+.LP
+.LP
+引数は順不同です。
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+options 
+コマンド行オプション
+.TP 3
+sourcefiles 
+コンパイルされる 1 つ以上のソースファイル (MyClass.java など)
+.TP 3
+classes 
+注釈の処理対象となる 1 つ以上のクラス (MyPackage.MyClass など)。
+.TP 3
+@argfiles 
+オプションとソースファイルを列挙した 1 つ以上のファイル。このファイルの中では、\f2\-J\fP オプションは指定できません。
+.RE
+
+.LP
+.RE
+.SH "機能説明"
+.LP
+
+.LP
+.LP
+\f3javac\fP ツールは、Java プログラミング言語で記述されたクラスとインタフェースの定義を読み取り、バイトコードのクラスファイルにコンパイルします。また、Java ソースファイルおよびクラス内の注釈の処理も行います。
+.LP
+.LP
+ソースコードのファイル名を \f3javac\fP に渡すには、次の 2 つの方法があります。
+.LP
+.RS 3
+.TP 2
+o
+ソースファイルの数が少ない場合は、ファイル名をコマンド行で直接指定します。
+.TP 2
+o
+ソースファイルの数が多い場合は、ファイル名を空白または改行で区切って、1 つのファイルに列挙します。次に、このリストファイル名の先頭に \f3@\fP を付けて、\f3javac\fP のコマンド行で指定します。
+.RE
+
+.LP
+.LP
+ソースコードのファイル名は \f2.java\fP 拡張子を、クラスのファイル名は \f2.class\fP 拡張子を持っていなければなりません。また、ソースファイルとクラスファイルのどちらも、該当するクラスに対応するルート名を持っていなければなりません。たとえば、\f2MyClass\fP という名前のクラスは、\f2MyClass.class\fP という名前のソースファイルに記述します。このソースファイルは、MyClass.class という名前のバイトコードクラスファイルにコンパイルされます。
+.LP
+.LP
+内部クラスが定義されていると、追加のクラスファイルが生成されます。これらのクラスファイルの名前は、\f2MyClass$MyInnerClass.class\fP のように、外部クラス名と内部クラス名を組み合わせたものになります。
+.LP
+.LP
+ソースファイルは、パッケージツリーを反映したディレクトリツリーに配置する必要があります。たとえば、すべてのソースファイルを \f3/workspace\fP に置いている場合、\f2com.mysoft.mypack.MyClass\fP のソースコードは \f3/workspace/com/mysoft/mypack/MyClass.java\fP にある必要があります。
+.LP
+.LP
+デフォルトでは、コンパイラは、各クラスファイルを対応するソースファイルと同じディレクトリに置きます。別の出力先ディレクトリを指定するには、\f3\-d\fP を使用します (このあとの「オプション」を参照)。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.LP
+コンパイラには、現在の開発環境でサポートされており、将来のリリースでもサポートされる標準オプションのセットがあります。これ以外の非標準オプションは、現在の仮想マシンおよびコンパイラの実装に固有のオプションで、将来に変更される可能性があります。非標準オプションは、\f3\-X\fP で始まります。
+.LP
+.SS 
+標準オプション
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+\-Akey[=value] 
+注釈プロセッサに渡されるオプション。これらは、javac によって直接解釈されず、個々のプロセッサによって使用されます。\f2key\fP には、1 つまたは複数の識別子を「.」で区切ったものを指定してください。
+.TP 3
+\-cp path または \-classpath path 
+ユーザーのクラスファイルおよび (場合によっては) 注釈プロセッサやソースファイルの検索場所を指定します。このクラスパスは \f3CLASSPATH\fP 環境変数のユーザークラスパスをオーバーライドします。\f3CLASSPATH\fP、\f3\-cp\fP、\f3\-classpath\fP のいずれも指定されていない場合、ユーザークラスパスは、現在のディレクトリになります。詳細は、
+.na
+「\f2Setting the Class Path\fP」
+.fi
+(http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath) を参照してください。
+.LP
+\f3\-sourcepath\fP オプションが指定されていない場合は、ソースファイルもユーザークラスパスから検索されます。
+.LP
+\f3\-processorpath\fP オプションが指定されていない場合は、注釈プロセッサもクラスパス内で検索されます。
+.LP
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じであるとみなされます。
+.br
+.br
+たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未定義となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。\f3注:\fP \ コマンド行環境の構成によっては、\f2javac \-cp "*.jar" MyClass.java\fP などのように、ワイルドカード文字を引用符で囲まなければならない場合があります。
+.TP 3
+\-Djava.ext.dirs=directories 
+インストール型拡張機能の位置をオーバーライドします。
+.TP 3
+\-Djava.endorsed.dirs=directories 
+承認された標準パスの位置をオーバーライドします。
+.TP 3
+\-d directory 
+クラスファイルの出力先ディレクトリを設定します。このディレクトリはあらかじめ用意されている必要があります。\f3javac\fP はディレクトリの作成を行いません。クラスがパッケージの一部である場合、\f3javac\fP は、必要に応じてディレクトリを作成し、パッケージ名を反映したサブディレクトリにクラスファイルを置きます。たとえば、\f3\-d /home/myclasses\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP である場合、クラスファイルは \f2/home/myclasses/com/mypackage/MyClass.class\fP になります。
+.LP
+\f3\-d\fP が指定されなかった場合、\f3javac\fP は各クラスファイルを、その生成元となるソースファイルと同じディレクトリ内に格納します。
+.LP
+\f3注:\fP \  \f3\-d\fP で指定したディレクトリはユーザークラスパスに自動的には追加されません。
+.TP 3
+\-deprecation 
+推奨されないメンバやクラスが、使用またはオーバーライドされるたびに説明を表示します。\f3\-deprecation\fP が指定されていない場合、\f3javac\fP は、推奨されないメンバやクラスを使用またはオーバーライドしているソースファイルの要約を表示します。\f3\-deprecation\fP は \f3\-Xlint:deprecation\fP の省略表記です。
+.TP 3
+\-encoding encoding 
+ソースファイルのエンコーディング名 (\f2EUC\-JP や UTF\-8\fP など) を指定します。\f3\-encoding\fP が指定されていない場合は、プラットフォームのデフォルトコンバータが使われます。
+.TP 3
+\-g 
+局所変数を含むすべてのデバッグ情報を生成します。デフォルトでは、行番号およびソースファイル情報だけが生成されます。
+.TP 3
+\-g:none 
+デバッグ情報を生成しません。
+.TP 3
+\-g:{keyword list} 
+コンマで区切られたキーワードリストにより指定された、特定の種類のデバッグ情報だけを生成します。次のキーワードが有効です。
+.RS 3
+.TP 3
+source 
+ソースファイルのデバッグ情報
+.TP 3
+lines 
+行番号のデバッグ情報
+.TP 3
+vars 
+局所変数のデバッグ情報
+.RE
+.TP 3
+\-help 
+標準オプションの形式を表示します。
+.TP 3
+\-implicit:{class,none} 
+暗黙的にロードされたソースファイルに対するクラスファイルの生成を制御します。クラスファイルを自動生成するには、\f3\-implicit:class\fP を使用します。クラスファイルの生成を抑制するには、\f3\-implicit:none\fP を使用します。このオプションが指定されなかった場合のデフォルト動作は、クラスファイルの自動生成になります。その場合、そのようなクラスファイルが生成された時に注釈処理も実行されると、コンパイラから警告が発行されます。このオプションが明示的に設定された場合には、警告は発行されません。「型の検索」を参照してください。
+.TP 3
+\-nowarn 
+警告メッセージを無効にします。これは \f3\-Xlint:none\fP と同じ意味です。
+.TP 3
+\-proc: {none,only} 
+注釈処理、コンパイル、その両方、のいずれを実行するかを制御します。\f3\-proc:none\fP は、注釈処理なしでコンパイルが実行されることを意味します。\f3\-proc:only\fP は、注釈処理だけが実行され、後続のコンパイルはまったく実行されないことを意味します。
+.TP 3
+\-processor class1[,class2,class3...] 
+実行する注釈プロセッサの名前。これを指定した場合、デフォルトの検索処理は省略されます。
+.TP 3
+\-processorpath path 
+注釈プロセッサの検索場所を指定します。このオプションを使用しなかった場合、クラスパス内でプロセッサの検索が行われます。
+.TP 3
+\-s dir 
+生成されたソースファイルの格納先となるディレクトリを指定します。そのディレクトリはすでに存在している必要があります。\f3javac\fP は作成しません。クラスがパッケージの一部になっていた場合、コンパイラはそのソースファイルを、パッケージ名を反映したサブディレクトリ内に格納します。その際、必要に応じてディレクトリを作成します。たとえば、ユーザーが \f3\-s /home/mysrc\fP と指定し、クラスの名前が \f2com.mypackage.MyClass\fP であった場合、そのソースファイルは \f2/home/mysrc/com/mypackage/MyClass.java\fP 内に格納されます。
+.TP 3
+\-source release 
+受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。
+.RS 3
+.TP 3
+1.3 
+このコンパイラでは、JDK 1.3 以降に導入されたアサーション、汎用機能、または他の言語機能をサポート\f2しません\fP。
+.TP 3
+1.4 
+JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
+.TP 3
+1.5 
+JDK 5 で導入された汎用機能および他の言語機能を含んだコードを受け付けます。
+.TP 3
+5 
+1.5 と同義です。
+.TP 3
+1.6 
+これがデフォルト値です。Java SE 6 では言語に対する変更は導入されませんでしたが、ソースファイル内のエンコーディングエラーが、以前のような「警告」ではなく、「エラー」として報告されるようになりました。
+.TP 3
+6 
+1.6 と同義です。
+.RE
+.TP 3
+\-sourcepath sourcepath 
+クラスまたはインタフェースの定義を検索するソースコードパスを指定します。ユーザークラスパスと同様に、ソースパスの複数のエントリはコロン (\f3:\fP) で区切ります。 ソースパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。パッケージを使っている場合は、ディレクトリまたはアーカイブ内のローカルパス名がパッケージ名を反映していなければなりません。
+.LP
+\f3注:\fP \  クラスパスからクラスだけでなくそのソースも見つかった場合、そのクラスは自動再コンパイルの対象になることがあります。「型の検索」を参照してください。
+.TP 3
+\-verbose 
+詳細な出力を表示します。ロードされるクラスおよびコンパイルされるソースファイルごとの情報が出力されます。
+.TP 3
+\-X 
+非標準オプションに関する情報を表示して終了します。
+.RE
+
+.LP
+.RE
+.SS 
+クロスコンパイルオプション
+.LP
+.RS 3
+
+.LP
+.LP
+デフォルトでは、クラスのコンパイルは、\f3javac\fP が添付されているプラットフォームのブートストラップクラスおよび拡張機能クラスに対して行われます。ただし、\f3javac\fP は、異なる Java プラットフォームに実装されたブートストラップクラスおよび拡張機能クラスに対してコンパイルを行う「\f2クロスコンパイル\fP」もサポートしています。クロスコンパイルを行う場合は、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使うことが重要です。このあとの「クロスコンパイルの例」を参照してください。
+.LP
+.RS 3
+.TP 3
+\-target version 
+指定されたバージョンの VM をターゲットにしたクラスファイルを生成します。このクラスファイルは、指定されたターゲット以降のバージョンでは動作しますが、それより前のバージョンの VM では動作しません。有効なターゲットは、\f31.1\fP、\f31.2\fP、\f31.3\fP、\f31.4\fP、\f31.5\fP (\f35\fP も可)、および \f31.6\fP (\f36\fP も可) です。
+.LP
+\f3\-target\fP のデフォルトは、次のように \f3\-source\fP の値によって決まります。
+.RS 3
+.TP 2
+o
+\-source が\f3指定されなかった\fP場合、\-target の値は \f31.6\fP になります。
+.TP 2
+o
+\-source が \f31.2\fP の場合、\-target の値は \f31.4\fP になります。
+.TP 2
+o
+\-source が \f31.3\fP の場合、\-target の値は \f31.4\fP になります。
+.TP 2
+o
+\-source が\f3それ以外の値の場合はすべて\fP、\-target の値は \f3\-source\fP の値になります。
+.RE
+.TP 3
+\-bootclasspath bootclasspath 
+指定された一連のブートクラスに対してクロスコンパイルを行います。ユーザークラスパスと同様に、ブートクラスパスの複数のエントリはコロン (\f3:\fP) で区切ります。ブートクラスパスのエントリには、ディレクトリ、JAR アーカイブ、または ZIP アーカイブを指定できます。
+.TP 3
+\-extdirs directories 
+指定された拡張機能ディレクトリに対してクロスコンパイルを行います。\f2directories\fP には、コロンで区切ったディレクトリのリストを指定します。指定したディレクトリ内の各 JAR アーカイブから、クラスファイルが検索されます。
+.RE
+
+.LP
+.RE
+.SS 
+非標準オプション
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+\-Xbootclasspath/p:path 
+ブートストラップクラスパスの前に追加します。
+.TP 3
+\-Xbootclasspath/a:path 
+ブートストラップクラスパスの後ろに追加します。
+.TP 3
+\-Xbootclasspath/:path 
+ブートストラップクラスファイルの位置をオーバーライドします。
+.TP 3
+\-Xlint 
+推奨されるすべての警告を有効にします。このリリースでは、利用可能なすべての警告が推奨されています。
+.TP 3
+\-Xlint:none 
+Java 言語仕様では指定されていないすべての警告を無効にします。
+.TP 3
+\-Xlint:\-name 
+警告 \f2name\fP を無効にします。ただし、\f2name\fP は、\f3\-Xlint:\fP\f2name\fP に使用できる警告名のいずれかになります。この警告名は次のとおりです。
+.TP 3
+\-Xlint:unchecked 
+Java 言語仕様で指定されている未検査変換警告の詳細を示します。
+.TP 3
+\-Xlint:path 
+存在しないパス (classpath、sourcepath など) ディレクトリについて警告します。
+.TP 3
+\-Xlint:serial 
+\f2serialVersionUID\fP 定義が直列化可能クラスにないことを警告します。
+.TP 3
+\-Xlint:finally 
+正常に完了できない \f2finally\fP 節について警告します。
+.TP 3
+\-Xlint:fallthrough 
+fall\-through ケースの \f2switch\fP ブロックをチェックし、検出されたものに対して警告メッセージを表示します。fall\-through ケースは、\f2switch\fP ブロック内の最後のケースを除くケースです。このコードには \f2break\fP 文は含まれません。コードの実行をそのケースから次のケースへ移動します。たとえば、この \f2switch\fP ブロック内の \f2case 1\fP ラベルに続くコードは、\f2break\fP 文で終わっていません。
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+switch (x) {
+.fl
+case 1:
+.fl
+       System.out.println("1");
+.fl
+       //  No  break;  statement here.
+.fl
+case 2:
+.fl
+       System.out.println("2");
+.fl
+}
+.fl
+            
+.fl
+\fP
+.fi
+.RE
+このコードのコンパイル時に \f2\-Xlint:fallthrough\fP フラグが使用されていた場合、コンパイラは 当該ケースの行番号とともに、fall\-through ケースの可能性があることを示す警告を発行します。
+.TP 3
+\-Xmaxerrors number 
+印刷するエラーの最大数を設定します。
+.TP 3
+\-Xmaxwarns number 
+印刷する警告の最大数を設定します。
+.TP 3
+\-Xstdout filename 
+コンパイラのメッセージを、指定されたファイルに送ります。デフォルトでは、コンパイラのメッセージは \f2System.err\fP に送られます。
+.TP 3
+\-Xprefer:{newer,source} 
+ある型に対してソースファイルとクラスファイルの両方が見つかった場合、そのどちらのファイルを読み取るべきかを指定します (「型の検索」を参照)。\f2\-Xprefer:newer\fP を使用した場合、ある型に対するソースファイルとクラスファイルの新しい方が読み取られます (デフォルト)。\f2\-Xprefer:source\fP オプションを使用した場合、ソースファイルが読み取られます。\f2SOURCE\fP の保存ポリシーを使って宣言された注釈に任意の注釈プロセッサがアクセスできるようにしたい場合は、\f2\-Xprefer:source\fP を使用してください。
+.TP 3
+\-Xprint 
+指定された型のテキスト表現をデバッグ目的で出力します。注釈処理、コンパイルのどちらも実行しません。出力形式は変更される可能性があります。
+.TP 3
+\-XprintProcessorInfo 
+ある特定のプロセッサが処理を依頼されている注釈に関する情報を出力します。
+.TP 3
+\-XprintRounds 
+初回および後続の注釈処理ラウンドに関する情報を出力します。
+.RE
+
+.LP
+.RE
+.SS 
+\-J オプション
+.LP
+.RS 3
+
+.LP
+.RS 3
+.TP 3
+\-Joption 
+\f3javac\fP が呼び出す \f3java\fP 起動ツールに、\f2option\fP を渡します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリは 48M バイトに設定されます。このオプションは \f3\-X\fP で始まっていませんが、\f3javac\fP の「標準オプション」ではありません。\f3\-J\fP を使って、Java で記述されたアプリケーションを実行する背後の VM にオプション渡すことは、よく行われています。
+.LP
+\f3注:\fP \  \f3CLASSPATH\fP、\f3\-classpath\fP、\f3\-bootclasspath\fP、および \f3\-extdirs\fP は、\f3javac\fP を実行するために使うクラスを指定するものでは\f2ありません\fP。このような方法でコンパイラの実装を操作することは、通常は無意味であり、常に危険を伴います。このような方法を使う必要がある場合は、\f3\-J\fP オプションを使って、必要なオプションを背後の \f3java\fP 起動ツールに渡してください。
+.RE
+
+.LP
+.RE
+.SH "コマンド行引数ファイル"
+.LP
+
+.LP
+.LP
+javac のコマンド行を短くしたり簡潔にしたりするために、\f2javac\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。この方法を使うと、どのオペレーティングシステム上でも、任意の長さの javac コマンドを作成できます。
+.LP
+.LP
+引数ファイルには、javac のオプションとソースファイル名を自由に組み合わせて記述できます。ファイル内の各引数は、スペースまたは改行で区切ります。ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲みます。
+.LP
+.LP
+引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。引数ファイルの位置から見た相対パスではありません。引数ファイル内のファイル名リストでは、ワイルドカード (*) は使用できません。たとえば、\f2*.java\fP とは指定できません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
+.LP
+.LP
+javac を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。javac は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
+.LP
+.SS 
+例 \- 引数ファイルを 1 つ指定
+.LP
+.LP
+\f2argfile\fP という名前の引数ファイルにすべての javac 引数を格納する場合は、次のように指定します。
+.LP
+.nf
+\f3
+.fl
+  % \fP\f3javac @argfile\fP
+.fl
+      
+.fl
+.fi
+
+.LP
+.LP
+この引数ファイルには、次の例で示されている 2 つのファイルの内容を両方とも入れることができます。
+.LP
+.SS 
+例 \- 引数ファイルを 2 つ指定
+.LP
+.LP
+たとえば、javac オプション用に 1 ファイル、ソースファイル名用に 1 ファイルというように、2 つの引数ファイルを作成することもできます。なお、このあとのリストでは、行の継続文字を使用していません。
+.LP
+.LP
+以下の内容を含む \f2options\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
+.fl
+     \-d classes
+.fl
+     \-g
+.fl
+     \-sourcepath /java/pubs/ws/1.3/src/share/classes
+.fl
+      
+.fl
+\fP
+.fi
+
+.LP
+.LP
+以下の内容を含む \f2classes\fP という名前のファイルを作成します。
+.LP
+.nf
+\f3
+.fl
+     MyClass1.java
+.fl
+     MyClass2.java
+.fl
+     MyClass3.java
+.fl
+      
+.fl
+\fP
+.fi
+
+.LP
+.LP
+次のコマンドを使用して \f3javac\fP を実行します。
+.LP
+.nf
+\f3
+.fl
+  % \fP\f3javac @options @classes\fP
+.fl
+      
+.fl
+.fi
+
+.LP
+.SS 
+例 \- パス付きの引数ファイル
+.LP
+.LP
+引数ファイルには、パスを指定できます。ただし、そのファイル内に指定されたファイル名は、現在の作業ディレクトリから見た相対パスになります。つまり、下の例の場合は、\f2path1\fP や \f2path2\fP から見た相対パスではありません。
+.LP
+.nf
+\f3
+.fl
+  % \fP\f3javac @path1/options @path2/classes\fP
+.fl
+      
+.fl
+.fi
+
+.LP
+.SH "注釈処理"
+.LP
+
+.LP
+.LP
+\f3javac\fP が注釈処理を直接サポートしているため、独立した注釈処理ツールである \f3apt\fP を使用する必要がなくなりました。
+.LP
+.LP
+注釈処理の API は、\f2javax.annotation.processing\fP および \f2javax.lang.model\fP パッケージとそのサブパッケージ内に定義されています。
+.LP
+.SS 
+注釈処理の概要
+.LP
+.LP
+\f3\-proc:none\fP オプションによって注釈処理が無効化されないかぎり、コンパイラは使用可能なすべての注釈プロセッサを検索します。検索パスは \f3\-processorpath\fP オプションを使って指定できます。検索パスを指定しなかった場合は、ユーザークラスパスが使用されます。プロセッサの検索は、検索パス上の \f2META_INF/services/javax.annotation.processing.Processor\fP という名前のサービスプロバイダ構成ファイルに基づいて行われます。このようなファイルには、使用するすべての注釈プロセッサの名前を、1 行に 1 つずつ含めてください。また、別の方法として、\f3\-processor\fP オプションを使ってプロセッサを明示的に指定することもできます。
+.LP
+.LP
+コンパイラは、コマンド行のソースファイルやクラスを走査することで、どのような注釈が存在しているかを確認し終わると、プロセッサに対して問い合わせを行い、それらのプロセッサがどの注釈を処理できるのかを確認します。一致するものが見つかった場合、そのプロセッサが呼び出されます。各プロセッサは、自身が処理する注釈を「要求」できます。 その場合、それらの注釈に対する別のプロセッサを見つける試みは行われません。すべての注釈が要求されてしまうと、コンパイラはそれ以上プロセッサの検索を行いません。
+.LP
+.LP
+いずれかのプロセッサによって新しいソースファイルが生成されると、注釈処理の 2 回目のラウンドが開始されます。新しく生成されたすべてのソースファイルが走査され、前回と同様に注釈が処理されます。以前のラウンドで呼び出されたプロセッサはすべて、後続のどのラウンドでも呼び出されます。これが、新しいソースファイルが生成されなくなるまで続きます。
+.LP
+.LP
+あるラウンドで新しいソースファイルが生成されなかった場合、注釈プロセッサがあと 1 回だけ呼び出され、必要な処理を実行する機会が与えられます。最後に、\f3\-proc:only\fP オプションが使用されないかぎり、コンパイラは、元のソースファイルと生成されたすべてのソースファイルをコンパイルします。
+.LP
+.SS 
+暗黙的にロードされたソースファイル
+.LP
+.LP
+コンパイラは、一連のソースファイルをコンパイルする際に、別のソースファイルを暗黙的にロードしなければならない場合があります (「型の検索」を参照)。そのようなファイルは、現時点では注釈処理の対象になりません。デフォルトでは、注釈処理が実行され、かつ暗黙的にロードされたソースファイルが 1 つでもコンパイルされた場合にコンパイラは警告を発行します。この警告を抑制する方法については、\-implicit オプションを参照してください。
+.LP
+.SH "型の検索"
+.LP
+
+.LP
+.LP
+ソースファイルをコンパイルする場合、コマンド行で指定したソースファイルに型の定義が見つからないとき、コンパイラは通常、その型に関する情報を必要とします。コンパイラは、ソースファイルで使われているクラスまたはインタフェース、拡張されているクラスまたはインタフェース、あるいは実装されているクラスまたはインタフェースすべてについて、型の情報を必要とします。これには、ソースファイルで明示的には言及されていなくても、継承を通じて情報を提供するクラスとインタフェースも含まれます。
+.LP
+.LP
+たとえば、\f3java.applet.Applet\fP をサブクラスにした場合、アプレットの祖先のクラス (\f3java.awt.Panel\fP、\f3java.awt.Container\fP、\f3java.awt.Component\fP、\f3java.lang.Object\fP) を使用していることになります。
+.LP
+.LP
+コンパイラは、型の情報が必要になると、その型を定義しているソースファイルまたはクラスファイルを探します。まず、ブートストラップクラスと拡張機能クラスを検索し、続いてユーザークラスパス (デフォルトではカレントディレクトリ) を検索します。ユーザークラスパスは、\f3CLASSPATH\fP 環境変数を設定して定義するか、または \f3\-classpath\fP コマンド行オプションを使って設定します。詳細は、
+.na
+「\f2Setting the Class Path\fP」
+.fi
+(http://java.sun.com/javase/6/docs/technotes/tools/index.html#classpath) を参照してください。
+.LP
+.LP
+\-sourcepath オプションが指定されている場合、コンパイラは、指定されたパスからソースファイルを検索します。それ以外の場合は、ユーザークラスパスからクラスファイルとソースファイルの両方を検索します。
+.LP
+.LP
+\f3\-bootclasspath\fP オプションと \f3\-extdirs\fP オプションを使うと、別のブートストラップクラスや拡張機能クラスを指定できます。このあとの「クロスコンパイルオプション」を参照してください。
+.LP
+.LP
+型の検索に成功した場合の結果は、クラスファイル、ソースファイル、またはその両方である場合があります。両方が見つかった場合、そのどちらを使用すべきかを \-Xprefer オプションでコンパイラに指示できます。\f3newer\fP が指定された場合、コンパイラは 2 つのファイルの新しい方を使用します。\f3source\fP が指定された場合、コンパイラはソースファイルを使用します。デフォルトは \f3newer\fP です。
+.LP
+.LP
+型の検索自体によって、または \f3\-Xprefer\fP が設定された結果として必要な型のソースファイルが見つかった場合、コンパイラはそのソースファイルを読み取り、必要な情報を取得します。さらに、コンパイラはデフォルトで、そのソースファイルのコンパイルも行います。\-implicit オプションを使えばその動作を指定できます。\f3none\fP を指定した場合、そのソースファイルのクラスファイルは生成されません。\f3class\fP を指定した場合、そのソースファイルのクラスファイルが生成されます。
+.LP
+.LP
+コンパイラは、注釈処理の完了後に、ある型情報の必要性を認識する場合があります。その型情報があるソースファイル内に見つかり、かつ \f3\-implicit\fP オプションが指定されていない場合は、そのファイルが注釈処理の対象とならずにコンパイルされることを、コンパイラがユーザーに警告します。この警告を無効にするには、(そのファイルが注釈処理の対象となるように) そのファイルをコマンド行に指定するか、あるいはそのようなソースファイルに対してクラスファイルを生成すべきかどうかを \f3\-implicit\fP オプションを使って指定します。
+.LP
+.SH "プログラマティックインタフェース"
+.LP
+
+.LP
+.LP
+\f3javac\fP は、\f2javax.tools\fP パッケージ内のクラスとインタフェースによって定義される新しい Java Compiler API をサポートします。
+.LP
+.SS 
+例
+.LP
+.LP
+コマンド行から指定された引数を使ってコンパイルを実行するには、次のようなコードを使用します。
+.LP
+.nf
+\f3
+.fl
+JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
+.fl
+int rc = javac.run(null, null, null, args);
+.fl
+      
+.fl
+\fP
+.fi
+
+.LP
+.LP
+この場合、標準出力ストリームにすべての診断メッセージが書き出され、コマンド行から呼び出された \f3javac\fP が返すのと同じ終了コードが返されます。
+.LP
+.LP
+\f2javax.tools.JavaCompiler\fP インタフェース上のほかのメソッドを使えば、診断メッセージの処理やファイルの読み取り元/書き込み先の制御などを行えます。
+.LP
+.SS 
+旧式のインタフェース
+.LP
+.RS 3
+
+.LP
+.LP
+\f3注:\fP \  この API は、下位互換性を確保するためだけに残されています。新しいコードでは、必ず前述の Java Compiler API を使用してください。
+.LP
+.LP
+\f2com.sun.tools.javac.Main\fP クラスには、プログラム内からコンパイラを呼び出すための static メソッドが 2 つ用意されています。それらを次に示します。
+.LP
+.nf
+\f3
+.fl
+public static int compile(String[] args);
+.fl
+public static int compile(String[] args, PrintWriter out);
+.fl
+      
+.fl
+\fP
+.fi
+
+.LP
+.LP
+\f2args\fP パラメータは、javac プログラムに通常渡される任意のコマンド行引数を表しています。その概要については、前出の「形式」節を参照してください。
+.LP
+.LP
+\f2out\fP パラメータは、コンパイラの診断メッセージの出力先を示します。
+.LP
+.LP
+戻り値は、\f3javac\fP の終了値と同じです。
+.LP
+.LP
+名前が \f2com.sun.tools.javac\fP で始まるパッケージ (非公式には \f2com.sun.tools.javac\fP のサブパッケージとして知られる) に含まれる\f3その他の\fPクラスやメソッドは、どれも完全に内部用であり、いつでも変更される可能性があります。
+.LP
+.RE
+.SH "例"
+.LP
+.SS 
+簡単なプログラムのコンパイル
+.LP
+.RS 3
+
+.LP
+.LP
+\f2Hello.java\fP というソースファイルで、\f3greetings.Hello\fP という名前のクラスを定義しているとします。\f2greetings\fP ディレクトリは、ソースファイルとクラスファイルの両方があるパッケージディレクトリで、現在のディレクトリのすぐ下にあります。このため、この例では、デフォルトのユーザークラスパスを使用できます。また、\f3\-d\fP を使って別の出力先ディレクトリを指定する必要もありません。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3ls\fP
+.fl
+greetings/
+.fl
+% \f3ls greetings\fP
+.fl
+Hello.java
+.fl
+% \f3cat greetings/Hello.java\fP
+.fl
+package greetings;
+.fl
+
+.fl
+public class Hello {
+.fl
+    public static void main(String[] args) {
+.fl
+        for (int i=0; i < args.length; i++) {
+.fl
+            System.out.println("Hello " + args[i]);
+.fl
+        }
+.fl
+    }
+.fl
+}
+.fl
+% \f3javac greetings/Hello.java\fP
+.fl
+% \f3ls greetings\fP
+.fl
+Hello.class   Hello.java
+.fl
+% \f3java greetings.Hello World Universe Everyone\fP
+.fl
+Hello World
+.fl
+Hello Universe
+.fl
+Hello Everyone
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.RE
+.SS 
+複数のソースファイルのコンパイル
+.LP
+.RS 3
+
+.LP
+.LP
+次の例では、パッケージ \f2greetings\fP 内のすべてのソースファイルをコンパイルします。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3ls\fP
+.fl
+greetings/
+.fl
+% \f3ls greetings\fP
+.fl
+Aloha.java         GutenTag.java      Hello.java         Hi.java
+.fl
+% \f3javac greetings/*.java\fP
+.fl
+% \f3ls greetings\fP
+.fl
+Aloha.class         GutenTag.class      Hello.class         Hi.class
+.fl
+Aloha.java          GutenTag.java       Hello.java          Hi.java
+.fl
+
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.RE
+.SS 
+ユーザークラスパスの指定
+.LP
+.RS 3
+
+.LP
+.LP
+上の例のソースファイルのうち 1 つを変更し、変更後のファイルを再コンパイルするとします。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3pwd\fP
+.fl
+/examples
+.fl
+% \f3javac greetings/Hi.java\fP
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.LP
+\f2greetings.Hi\fP は、\f2greetings\fP パッケージ内のほかのクラスを参照しているため、コンパイラはこれらのクラスを探す必要があります。上の例では、デフォルトのユーザークラスパスが、パッケージディレクトリを含むディレクトリと同じであるため、コンパイルは正常に実行されます。ただし、現在どのディレクトリにいるかに関係なく、このファイルを再コンパイルする場合は、ユーザークラスパスに \f2/examples\fP を追加する必要があります。ユーザークラスパスにエントリを追加するには、\f3CLASSPATH\fP を設定する方法もありますが、ここでは \f3\-classpath\fP オプションを使うことにします。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3javac \-classpath /examples /examples/greetings/Hi.java\fP
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.LP
+再度 \f2greetings.Hi\fp を変更してバナーユーティリティを使うようにした場合は、このバナーユーティリティもユーザークラスパスを通じてアクセスできるようになっている必要があります。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3javac \-classpath /examples:/lib/Banners.jar \\ 
+.fl
+            /examples/greetings/Hi.java\fP
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.LP
+\f2greetings\fP 内のクラスを実行するには、\f2greetings\fP と、\f2greetings\fP が使うクラスの両方にアクセスできる必要があります。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3java \-classpath /examples:/lib/Banners.jar greetings.Hi\fP
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.RE
+.SS 
+ソースファイルとクラスファイルの分離
+.LP
+.RS 3
+
+.LP
+.LP
+特に大規模プロジェクトの場合は、ソースファイルとクラスファイルを別々のディレクトリに置くと便利なことがあります。クラスファイルの出力先を別に指定するには、\f3\-d\fP を使います。ソースファイルはユーザークラスパスにはないので、\f3\-sourcepath\fP を使って、コンパイラがソースファイルを見つけることができるようにします。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3ls\fP
+.fl
+classes/  lib/      src/
+.fl
+% \f3ls src\fP
+.fl
+farewells/
+.fl
+% \f3ls src/farewells\fP
+.fl
+Base.java      GoodBye.java
+.fl
+% \f3ls lib\fP
+.fl
+Banners.jar
+.fl
+% \f3ls classes\fP
+.fl
+% \f3javac \-sourcepath src \-classpath classes:lib/Banners.jar \\ 
+.fl
+            src/farewells/GoodBye.java \-d classes\fP
+.fl
+% \f3ls classes\fP
+.fl
+farewells/
+.fl
+% \f3ls classes/farewells\fP
+.fl
+Base.class      GoodBye.class
+.fl
+
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.LP
+\f3注:\fP \  コマンド行では \f2src/farewells/Base.java\fP を指定していませんが、このファイルもコンパイラによってコンパイルされています。自動コンパイルを監視するには、\f3\-verbose\fP オプションを使います。
+.LP
+.RE
+.SS 
+クロスコンパイルの例
+.LP
+.RS 3
+
+.LP
+.LP
+ここでは、javac を使って、1.5 VM 上で実行するコードをコンパイルします。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% \fP\f3javac \-target 1.5 \-bootclasspath jdk1.5.0/lib/rt.jar \\ 
+.fl
+            \-extdirs "" OldCode.java\fP
+.fl
+        
+.fl
+.fi
+.RE
+
+.LP
+.LP
+\f3\-target 1.5\fP オプションにより、1.5 VM と互換性のあるクラスファイルが生成されます。デフォルトでは、\f3javac\fP は JDK 6 用にコンパイルします。
+.LP
+.LP
+Java プラットフォーム JDK の \f3javac\fP は、デフォルトではそれ自身のブートストラップクラスに対してコンパイルを行うので、代わりに JDK 1.5 のブートストラップクラスに対してコンパイルを行うように \f3javac\fP を設定する必要があります。これは、\f3\-bootclasspath\fP および \f3\-extdirs\fP を使って指定します。この指定を行わないと、1.5 VM には存在しない Java プラットフォーム API に対応したコンパイルが行われるため、プログラムの実行時に失敗するでしょう。
+.LP
+.RE
+.SH "関連項目"
+.LP
+
+.LP
+.RS 3
+.TP 2
+o
+.na
+「\f2The javac Guide\fP」
+.fi
+(http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html)
+.TP 2
+o
+java(1) \- Java アプリケーション起動プログラム
+.TP 2
+o
+jdb(1) \- Java デバッガ
+.TP 2
+o
+javah(1) \- C 言語のヘッダとスタブファイルのジェネレータ
+.TP 2
+o
+javap(1) \- Java クラスファイル逆アセンブラ
+.TP 2
+o
+javadoc(1) \- Java API ドキュメントジェネレータ
+.TP 2
+o
+jar(1) \- JAR アーカイブツール
+.TP 2
+o
+.na
+「\f2The Java Extensions Framework\fP」
+.fi
+(http://java.sun.com/javase/6/docs/technotes/guides/extensions/index.html)
+.RE
+
+.LP
+
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/javadoc.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,5198 @@
+'\" t
+.\"
+.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\"
+.\" 
+.TH javadoc 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.hw javadoc
+.SH "名前"
+javadoc \- Java API ドキュメントジェネレータ
+.RS 3
+
+.LP
+.LP
+Java ソースファイルから、API ドキュメントの HTML ページを生成します。このドキュメントで紹介されている Javadoc の例は、Sun Solaris を使用した場合のものです。
+.LP
+.SH "形式"
+.B javadoc 
+[
+.I options
+] [
+.I packagenames
+] [
+.I sourcefilenames
+] [
+.I \-subpackages pkg1:pkg2:...
+] [
+.I @argfiles
+]
+.LP
+.LP
+引数を指定する順序は任意です。Javadoc ツールでの、処理対象の \f2.java\fP ファイルを決定する方法の詳細については、「ソースファイルの処理」を参照してください。
+.TP 15
+.I options
+このドキュメントで指定されているコマンド行オプションです。
+.B javadoc 
+のオプションの一般的な使用法については、「使用例」を参照してください。 
+.TP
+.I packagenames
+.BR "java.lang java.lang.reflect java.awt" 
+などの、スペースで区切られた
+一連のパッケージ名です。ドキュメント化するパッケージごとに別個に
+指定する必要があります。
+.B javadoc
+ツールはこれらのパッケージ名を探すとき、
+.B \-sourcepath 
+を使用します。
+.B javadoc
+ツールは、サブパッケージを再帰的に処理することはありません。
+アスタリスク (\f3*\f1) などのワイルドカードは使うことができません。
+「1 つ以上のパッケージのドキュメント化」の
+例を参照してください。 
+.TP
+.I sourcefilenames
+スペースで区切られた一連のファイル名です。パス、および
+アスタリスク (\f3*\f1) などのワイルドカードを含めることができます。
+.B javadoc 
+ツールが処理するのは、ファイル名が「.java」という拡張子で終わり、
+その拡張子を除いた名前が実際に有効なクラス名
+.fi
+ (http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625
+の
+.na
+「\f2Identifiers\fP」を参照) であるすべてのファイルです。
+したがって、ハイフンを含む名前 (X-Buffer など) や、
+その他の無効な文字を含む名前を付けることによって、
+それらのファイルをドキュメント化の対象から除外できます。 
+これは、テスト用のファイルや、テンプレートから生成されたファイルの場合に便利です。 
+.B javadoc 
+ツールは、ソースファイル名の前に指定されたパスを使用して、
+ソースファイル名を探します。この場合、
+.B -sourcepath
+は使用しません。たとえば、
+.B Button.java
+を渡すことは 
+.BR ./Button.java 
+と指定することと同じです。完全パスを付けたソースファイル名の
+例は「
+.BR /home/src/java/awt/Graphics*.java
+」のようになります。「1 つ以上のクラスのドキュメント化」の例を
+参照してください。また、「パッケージとクラスのドキュメント化」の
+例のように、パッケージ名とソースファイル名を組み合わせることもできます。 
+.TP
+.I \-subpackages pkg1:pkg2:...
+指定されたパッケージ内のソースファイルからドキュメントを生成し、
+再帰的にサブパッケージを処理します。 パッケージ名または
+ソールファイル名を指定するための代替手段です。 
+.TP
+.I @argfiles
+Javadoc オプション、パッケージ名、およびソースファイル名を
+任意の順序で並べたリストが含まれる 1 つ以上のファイルです。 
+このファイルの中では、ワイルドカード (*) および 
+.B \-J
+オプションは指定できません。
+.SH "機能説明"
+.B javadoc
+ツールは、一連の Java ソースファイルの宣言およびドキュメント
+コメントを解析し、デフォルトでは public クラスと protected クラス、
+入れ子クラス(匿名の内部クラスを除く)、インタフェース、コンストラクタ、メソッド、および
+フィールドについて説明した一連の HTML ページを生成します。また、API (アプリケーションプログラミングインタフェース) ドキュメントの生成や、一連のソースファイルの実装ドキュメントの生成に使用できます。 
+.LP
+.B javadoc
+ツールは、パッケージ全体、個々のソースファイル、またはその両方に対して
+実行できます。
+.B javadoc
+ツールをパッケージ全体に対して実行する場合は、最上位ディレクトリから再帰的にたどるために -subpackages を使用するか、パッケージ名の明示的なリストを渡します。
+個々のクラスに対して javadoc を実行する場合は、一連の
+ソース (\f3.java\f1) ファイル名を渡します。具体的な例は、
+このページの最後で示します。
+次に、Javadoc によるソースファイルの処理について説明します。
+.LP
+.SS 
+ソースファイルの処理
+.LP
+.LP
+Javadoc ツールは、末尾に \f2.java\fP の付いたファイル以外に、ソースファイルで説明する他のファイルも処理します。個々のソースファイル名を明示的に渡すことによって Javadoc ツールを実行する場合、\f2.java\fP ファイルを処理するかを正確に指定できます。ただし、多くの開発者はこの方法では作業しません。パッケージ名を渡すほうが簡単だからです。ソースファイル名を明示的に指定しなくても、Javadoc ツールは 3 つの方法で実行できます。この方法は、(1) パッケージ名を渡す、(2) \f2\-subpackages\fP を使用する、(3) ソースファイル名にワイルドカードを使用する (\f2*.java\fP) という方法です。これらの方法を使用する場合、Javadoc ツールは、\f2*.java\fP ファイルが次のすべての要件を満たしている場合にかぎり、このファイルを処理します。
+.LP
+.RS 3
+.TP 2
+o
+名前から \f2.java\fP の接尾辞を取り除くと、実際に有効なクラス名になっている (有効な文字については、
+.fi
+http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625
+の
+.na
+「\f2Identifiers\fP」を参照)
+.TP 2
+o
+ソースツリーのルートから相対的なディレクトリパスが、区切り文字をドットに変換すると、実際に有効なパッケージ名になっている
+.TP 2
+o
+パッケージ文には有効なパッケージ名が含まれる (前項目で指定)
+.RE
+
+.LP
+.LP
+\f3リンクの処理\fP \- 
+実行時に、
+.B javadoc 
+ツールはその実行の一部として記述されているパッケージ、クラス、
+およびメンバの名称にクロスリファレンスリンクを自動的に
+追加します。リンクは、次の箇所に現われます。
+.LP
+.TP 2
+\(bu
+宣言 (戻り値の型、引数の型、フィールドの型)
+.TP 2
+\(bu
+@see タグから生成される [関連項目] のセクション
+.TP 2
+\(bu
+{@link} タグから生成されるインラインテキスト
+.TP 2
+\(bu
+@throws タグから生成される例外の名称
+.TP 2
+\(bu
+インタフェースのメンバに対する [定義] リンクと、クラスのメンバに対する [オーバーライド] リンク
+.TP 2
+\(bu
+パッケージ、クラス、およびメンバを記述した一覧表
+.TP 2
+\(bu
+パッケージとクラスの継承ツリー
+.TP 2
+\(bu
+索引
+.LP
+\-link と \-linkoffline オプションを使用して、
+コマンド行に含まれていない、個別に生成されるクラスの既存のテキストに
+ハイパーリンクを追加できます。
+.LP
+\f3その他の処理についての詳細\fP \- 
+javadoc ツールは、実行のたびにひとつの完全なドキュメントを生成します。javadoc は、
+追加生成を行えません。つまり、以前に実行した javadoc の結果を変更したり、
+それらを直接取り込むことはできません。しかし、前述のようにほかの
+実行の結果にリンクすることは可能です。
+.LP
+実装上の理由から、
+.B javadoc
+ツールは実行に java コンパイラを必要とし、java コンパイラに依存しています。
+.B javadoc
+ツールは 
+.B javac 
+の一部を呼び出して、宣言をコンパイルし、メンバの実装は無視します。
+.B javadoc 
+ツールは、クラス階層を含むクラスの豊富な内部表現、および「使用」関係を
+構築し、そこから HTML を生成します。
+.B javadoc 
+ツールは、ソースコードのドキュメンテーションコメントから、ユーザの
+提供するドキュメントも取得します。 
+.LP
+.B javadoc
+ツールは、メソッド本体のない純粋なスタブファイルである 
+.B .java
+ソースファイル上で実行されます。つまり、API の作成時には、コードを
+記述する前の設計の早い段階でドキュメンテーションコメントを記述し、
+.B javadoc
+を実行できます。 
+.LP
+コンパイラに依存することによって、HTML 出力が、実際の実装に正確に対応
+することが保証されます。実際の実装は、明示的でなく暗黙的に
+ソースコードに依存している場合があります。たとえば、
+.B javadoc
+ツールは、
+.B .class
+ファイル内には存在するが、ソースコード内には存在しない
+デフォルトコンストラクタ (「Java Language Specification」のセクション 8.6.7: http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#36154) 
+をドキュメント化します。 
+.LP 
+多くの場合、
+.B javadoc 
+ツールでは、ソースファイルのコードが不完全またはエラーを
+含んでいる場合でもドキュメントを生成できます。 
+このため、デバッグやトラブルシューティングが完了する前に
+ドキュメントを生成できます。 たとえば、Java 言語仕様によると、
+抽象メソッドを含むクラスはそれ自体を抽象と宣言しなければなりません。
+このエラーを検出すると、javac コンパイラの場合は、このエラーで
+停止しますが、javadoc ツールは警告を出さずに処理を進めます。
+javadoc ツールはドキュメンテーションコメントの基本的なチェックを行います。
+ドキュメンテーションコメントをより詳しくチェックする必要がある場合は、
+DocCheck ドックレットを使用してください。 
+.LP 
+.B javadoc
+ツールがドキュメント用の内部構造を構築するときは、参照する
+クラスをすべてロードします。このため、ブートストラップクラス、
+拡張機能、またはユーザクラスにかかわらず、
+.B javadoc
+ツールは、参照するクラスをすべて検出できなければなりません。
+一般的に、作成する
+クラスは、拡張機能としてロードされるか、
+.BR javadoc
+ツールのクラスパス内にある必要があります。 
+.SS "Javadoc ドックレット"
+.B  javadoc
+ツールの出力の内容と形式は、ドックレットを使ってカスタマイズできます。
+.B  javadoc
+ツールには、標準ドックレットと呼ばれるデフォルトの「組み込み型」
+ドックレットがあり、これによって HTML 形式の API
+ドキュメントを生成します。標準ドックレット
+の修正やサブクラス化を行なったり、HTML、XML、MIF、RTF などの好みの
+出力形式を生成する独自のドックレットを記述することも可能です。
+ドックレットとその使用法については、次を参照してください。 
+.LP
+.TP 2
+\(bu
+.B Javadoc 
+ドックレット 
+.TP 2
+\(bu
+.B -doclet 
+コマンド行オプション 
+.LP
+.B -doclet
+コマンド行オプションでカスタムドックレットが指定されていない場合、
+.B javadoc
+ツールは、デフォルトの標準ドックレットを使用します。
+.B javadoc
+ツールには、どのドックレットが使われているかには関係なく使用できる
+コマンド行オプションがあります。標準ドックレットでは、これらの
+ほかに、いくつかのコマンド行オプションが追加されます。どちらの
+オプションについても、後述の「オプション」で説明します。 
+.SS 関連ドキュメントおよびドックレット
+.TP 2
+\(bu
+Javadoc に施された機能強化 - Javadoc に追加された改良点の詳細 
+.TP 2
+\(bu
+Javadoc FAQ - 頻繁に寄せられる質問に対する回答、Javadoc 関連のツールについての情報、およびバグの回避方法 
+.TP 2
+\(bu
+Javadoc のドキュメンテーションを作成するには - Sun で
+一般的なドキュメンテーションコメントの記述方法の詳細 
+.TP 2
+\(bu
+API 仕様を記述するための要件 - Java 2 プラットフォーム仕様を記述する際に
+使用された標準要件。 この情報は、ソースファイルのドキュメンテーションコメント
+形式で API 仕様を記述する場合にも、その他の形式で記述する場合にも
+役立ちます。 検証可能なアサーションを満たすパッケージ、クラス、
+インタフェース、フィールド、およびメソッドについての要件を定めています。
+.TP 2
+\(bu
+ドキュメンテーションコメントの仕様 - ドキュメンテーションコメントの
+オリジナル仕様については、『Java Language Specification』 
+(James Gosling、Bill Joy、Guy Steele 共著) の初版の
+第 18 章「Documentation Comments」を参照してください。 
+この章は、第 2 版では削除されました。 
+.TP 2
+\(bu
+DocCheck ドックレット - ソースファイル内のドキュメンテーションコメントを検査し、
+見つかったエラーや不規則な箇所を一覧にしたレポートを生成します。
+これは Sun Doc チェックユーティリティの一部です。 
+.TP 2
+\(bu
+MIF ドックレット - MIF、FrameMaker、および PDF 形式での API ドキュメントの
+生成を自動化します。 MIF は Adobe FrameMaker の互換形式です。 
+.SS "用語"
+.LP
+.LP
+「\f2ドキュメンテーションコメント\fP」、「\f2doc コメント\fP」、「\f2主説明\fP」、「\f2タグ\fP」、「\f2ブロックタグ\fP」、および「\f2インラインタグ\fP」の用語については、「ドキュメンテーションコメント」で説明します。以下のその他の用語は、Javadoc ツールのコンテキストで特定の意味を持ちます。
+.RS 3
+.TP 3
+生成されるドキュメント 
+.B javadoc 
+ツールが Java ソースコード内の doc コメントから生成したドキュメント
+のことです。デフォルトの生成ドキュメントは HTML 形式で、標準
+ドックレットによって作成されます。 
+.LP
+.TP 3
+名前
+Java 言語での名前、つまりパッケージ、クラス、インタフェース、
+フィールド、コンストラクタ、またはメソッドの名前のことです。名前は、
+.BR java.lang.String.equals(java.lang.Object) 
+のように完全修飾することも、
+.BR equals(Object) 
+のように部分修飾することもできます。 
+.LP
+.TP 3
+ドキュメント化されるクラス 
+.B javadoc 
+の実行によって完全なドキュメントが生成されるクラスと
+インタフェースです。ドキュメント化するには、ソースファイルが
+使用可能でなければならず、ソースファイル名またはパッケージ名の
+どちらかを 
+.B javadoc 
+コマンドに渡さなければなりません。ドキュメント化されるクラスは、
+.B javadoc 
+の実行で組み込まれるクラス、つまり「組み込みクラス」とも呼ばれます。 
+.LP
+.TP 3
+含まれるクラス 
+対応するソースファイル名またはパッケージ名が javadoc コマンドに
+渡されるクラスおよびインタフェースのことです。 
+.LP
+.TP 3
+除外されるクラス
+javadoc コマンドにソースファイル名またはパッケージ名が
+渡されないクラスとインタフェースです。
+.LP
+.TP 3
+参照クラス 
+ドキュメント化されるクラスとインタフェースの定義 
+(実装) またはドキュメンテーションコメント内で明示的に参照される
+クラスとインタフェースです。参照の例としては、
+戻り値の型、パラメータの型、キャストの型、
+拡張されるクラス、実装されるインタフェース、
+インポートされるクラス、メソッド本体で使用される
+クラス、@see、{@link}、{@linkplain}、
+および {@inheritDoc} タグなどがあります 
+(この定義は 1.3 
+.fi
+(http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#referencedclasses)
+から
+変更されていることに注意)。
+javadoc ツールは動作中、
+.B javadoc 
+のブートクラスパスと
+クラスパス内にある参照されているクラスを
+すべてメモリにロードするためです。
+参照されているクラスが見つからなかった
+場合は、[クラスが見つかりません] という警告が表示されます。
+.B javadoc
+ツールは、クラスの存在とそのメンバの完全修飾名を決定するのに十分な情報を、
+.B .class
+ファイルから引き出すことができます。 
+.LP
+.TP 3
+外部参照クラス 
+参照されるクラスのうち、
+.B javadoc
+を実行してもドキュメントが生成されないクラスです。
+つまり、これらのクラスは、コマンド行で 
+.B javadoc 
+ツールに渡されていません。 
+生成ドキュメント内でこれらのクラスにリンクしている箇所は、
+「外部参照」または「外部リンク」と呼ばれます。 たとえば、
+.B java.awt 
+パッケージに対してだけ 
+.B javadoc
+を実行した場合、Object などの 
+.BR java.lang 
+内のすべてのクラスは、外部参照クラスになります。外部参照クラスには、
+.B \-link 
+および
+.B \-linkoffline 
+オプションを使ってリンクすることができます。 
+外部参照クラスには、通常そのソースコメントを 
+.B \javadoc 
+ツールの実行で利用できないという重要な特徴があります。 
+この場合、それらのコメントを継承することはできません。 
+.SH  "ソースファイル"
+.B javadoc
+ツールは、クラスの Java 言語ソースファイル (\f3.java\f1)、パッケージコメントファイル、
+概要コメントファイル、およびその他の処理されないファイルの 4 種類の
+「ソース」ファイルを基にして、出力を生成します。また、ドキュメント化しないがソースツリーに存在する場合があるテストファイルやテンプレートについても説明します。
+.SS "クラスソースコードファイル"
+各クラスまたはインタフェース、およびそのメンバは、
+.B .java
+ファイルの中にそれ自身のドキュメンテーションコメントを
+持つことができます。ドキュメンテーションコメントの詳細については、
+「ドキュメンテーションコメント」の節を参照してください。
+.SS "パッケージコメントファイル"
+各パッケージは、独自のドキュメンテーションコメントを
+持つことができ、「ソース」ファイルに保持します。
+.B javadoc
+ツールは、生成するパッケージの要約ページにこのコメントをマージします。
+通常、このコメントには、パッケージ全体に適用される
+ドキュメントを含めます。 
+.LP
+パッケージコメントファイルを作成する場合、コメントの格納先として、次の 2 つのファイルのいずれかを選択できます。
+.LP
+.RS 3
+.TP 2
+o
+\f2package\-info.java\fP \- パッケージ宣言、パッケージ注釈、パッケージコメント、および Javadoc タグを格納できます。このファイルは JDK 5.0 で導入されたものであり、package.html よりも推奨されています。
+.TP 2
+o
+\f2package.html\fP \- 格納できるのはパッケージコメントと Javadoc タグだけです。パッケージ注釈は格納できません。
+.RE
+
+.LP
+.LP
+各パッケージは、単一の \f2package.html\fP ファイル、単一の \f2package\-info.java\fP ファイルのいずれかを持つことができますが、両方を持つことはできません。このどちらかのファイルを \f2.java\fP ファイルとともに、ソースツリー内のそのパッケージのディレクトリ内に配置してください。
+.LP
+.LP
+\f4package\-info.java\fP このファイルには、次の構造のパッケージコメントを格納できます。コメントはパッケージ宣言の前に配置します。
+.LP
+.LP
+File: \f2java/applet/package\-info.java\fP
+.LP
+.ft 3
+.nf
+/**
+ * Provides the classes necessary to create an  
+ * applet and the classes an applet uses 
+ * to communicate with its applet context.
+ * <p>
+ * The applet framework involves two entities:
+ * the applet and the applet context.
+ * An applet is an embeddable window (see the
+ * {@link java.awt.Panel} class) with a few extra
+ * methods that the applet context can use to 
+ * initialize, start, and stop the applet.
+ *
+ * @since 1.0
+ * @see java.awt
+ */
+package java.lang.applet;
+.fi
+.ft 1
+.LP
+コメント区切り文字の \f2/**\fP と \f2*/\fP は記述する必要がありますが、中間行の行頭のアスタリスクは省略してもかまいません。
+.LP
+.LP
+\f4package.html\fP \- このファイルには、次の構造のパッケージコメントを格納できます。コメントは \f2<body>\fP 要素内に配置します。
+.LP
+.LP
+File: \f2java/applet/package.html\fP
+.LP
+.LP
+.ft 3
+.nf
+<HTML>
+<BODY>
+Provides the classes necessary to create an applet and the 
+classes an applet uses to communicate with its applet context.
+<p>
+The applet framework involves two entities: the applet
+and the applet context. An applet is an embeddable
+window (see the {@link java.awt.Panel} class) with a
+few extra methods that the applet context can use to
+initialize, start, and stop the applet. 
+
+@since 1.0 
+@see java.awt
+</BODY>
+</HTML>
+.fi
+.ft 1
+.LP
+.LP
+これは単なる通常の HTML ファイルであり、パッケージ宣言を含んでいない点に注意してください。パッケージコメントファイルの内容は、ほかのすべてのコメントと同様に HTML で記述されています。ただし、ほかのコメントと異なる点が 1 つだけあります。それは、このドキュメンテーションコメントには、コメント区切り文字である \f2/**\fP と \f2*/\fP、および行頭のアスタリスクを含めてはならない、ということです。コメントを書く場合は、最初の文をパッケージの概要とし、\f2<body>\fP と最初の文の間にタイトルやその他のテキストを含めないようにします。パッケージタグを含めることはできますが、ほかのドキュメンテーションコメントと同様、全てのブロックタグは説明のあとに置かなければなりません。パッケージコメントファイルに \f2@see\fP タグを追加する場合は、完全指定の名前を使用する必要があります。詳細は、
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#packagecomments
+の
+.na
+「\f2example of \fP\f2package.html\fP」を参照してください。
+.LP
+.LP
+\f3パッケージコメントファイルの処理\fP \- Javadoc ツールは、実行時にパッケージコメントファイルを自動的に検索し、このファイルを見つけると次の処理を行います。
+.LP
+.RS 3
+.TP 2
+o
+処理できるようにコメントをコピーする (\f2package.html\fP の場合であれば、\f2<body>\fP と \f2</body>\fP HTML タグの間にある内容をすべてコピーする。\f2<head>\fP を含め、そこに \f2<title>\fP やソースファイルの著作権記述などの情報を配置することもできるが、生成後のドキュメンテーションにはそれらは一切表示されない) 
+.TP 2
+o
+パッケージタグがあれば、すべて処理する
+.TP 2
+o
+生成したパッケージの概要ページの最後に、処理したテキストを挿入する (例: パッケージの概要)
+.TP 2
+o
+パッケージの概要ページの先頭に、パッケージコメントの最初の文をコピーする。さらに、概要ページのパッケージリストに、パッケージ名とパッケージコメントの最初の文を追加する (例: 概要の要約)。文の末尾は、クラスやメンバの主説明の最初の文の末尾と同じ規則によって判断される
+.RE
+
+.LP
+.SS "概要コメントファイル"
+ドキュメント化する各アプリケーションまたはパッケージのセットは、
+独自の概要ドキュメンテーションコメントを持つことができ、それは
+「ソース」ファイルに保持されます。
+.B javadoc
+ツールは、生成する概要ページにこのコメントをマージします。通常、この
+コメントには、アプリケーションまたはパッケージのセット全体に
+当てはまるドキュメントを含めます。 
+.LP
+概要コメントファイルを作成する場合、ファイルに好きな名前を付けて、
+好きな場所に置くことができますが、通常はファイル名を 
+.B overview.html
+にして、ソースツリーの一番上の階層に置きます。
+たとえば、
+.B java.applet 
+パッケージのソースファイルが 
+.B /home/user/src/java/applet
+ディレクトリに含まれているとすると、
+.BR /home/user/src/overview.html 
+に概要コメントファイルを作成することができます。 
+.LP
+異なるパッケージのセットに対して javadoc を複数回実行する場合は、同じ 1 つのソースファイルのセットに対して複数の概要コメントファイルを作成できます。
+たとえば、内部ドキュメンテーション用に \-private を指定して javadoc を 1 回実行したあと、公開ドキュメンテーション用にそのオプションを指定しないで再度実行することができます。この場合、各概要コメントファイルの 1 文目で、そのドキュメンテーションを公開用または内部用として記述できます。
+.LP
+概要コメントファイルの内容は、前に述べたパッケージコメントファイルと
+同様、HTML で記述された 1 つの大きなドキュメント
+コメントです。詳細は、前述の説明を参照してください。繰り返しに
+なりますが、このコメントを書く場合は、最初の文をアプリケーション
+またはパッケージのセットの要約にし、
+.B <body>
+と最初の文の間にタイトルまたはその他のテキストを含めてはなりません。
+概要タグを含めることができます。どのドキュメンテーションコメントに
+ついても、{\f3@link\f1}
+以外のタグは、説明のあとに置く必要があります。
+.B @see
+タグを追加する場合は、完全指定の名前を使用する必要があります。 
+.LP
+.BR javadoc
+ツールの実行時に、
+.B \-overview
+オプションを使って概要コメントファイル名を指定します。ファイルは、
+パッケージコメントファイルと同じように処理されます。 
+.TP 2
+\(bu
+.B <body>
+タグと
+.B </body>
+タグとの間にあるすべての内容を処理のためにコピーする 
+.TP 2
+\(bu
+存在する概要タグを処理する 
+.TP 2
+\(bu
+概要の要約などの Javadoc が生成する概要ページの最後に、
+処理されたテキストを挿入する 
+.TP 2
+\(bu
+概要ページの先頭に、概要コメントの最初の文をコピーする 
+.SS "その他の処理されないファイル"
+ソースには、
+.B javadoc
+ツールで生成先のディレクトリにコピーする、その他の任意のファイルを
+含めることができます。一般に、このようなファイルには、
+サンプルのグラフィックファイル、Java ソース 
+(\f3.java\f1) およびクラス (\f3.class\f1) ファイル、内容が
+通常の Java ソース
+ファイルのドキュメンテーションコメントの影響を受けない
+独立した HTML ファイルなどがあります。 
+.LP
+処理されないファイルを含めるには、それらのファイルを 
+.BR doc-files 
+というディレクトリに置きます。このディレクトリは、任意のパッケージ
+ディレクトリの下に作成できます。パッケージごとにこのようなサブ
+ディレクトリを 1 つ持つことができます。このサブディレクトリには、
+イメージ、サンプルコード、ソースファイル、
+.B .class
+ファイル、アプレット、および HTML ファイルを入れることができます。
+たとえば、ボタンの画像 
+.B button.gif 
+を
+.B java.awt.Button 
+クラスドキュメントに含めたい場合は、そのファイルを 
+.B /home/user/src/java/awt/doc-files/
+ディレクトリに置きます。
+.BR doc-files 
+ディレクトリを 
+.B /home/user/src/java/doc-files
+に置くことはできません。これは、
+.B java
+はパッケージではなく、そのディレクトリそのものにソースファイルが
+入っていないからです。 
+.LP
+これらの処理されないファイルへのリンクは
+すべて明示的に記述する必要があります。これは、
+.B javadoc 
+ツールがファイルを見ずに、単にディレクトリとその内容物を生成先に
+コピーするだけだからです。たとえば、
+.B Button.java 
+ドキュメンテーションコメント内のリンクは、次のようになります。 
+.LP
+.ft 3
+.nf
+/**
+* This button looks like this:
+* <img src="doc-files/Button.gif">
+*/
+.fi
+.ft 1
+.SH "テストファイルおよびテンプレートファイル"
+一部の開発者から、テストファイルおよびテンプレートファイルを
+対応するソースファイルの近くのソースツリーに保存したいという要望がありました。
+つまり、これらのソースファイルと同じディレクトリまたはサブディレクトリに
+保存したいということです。
+.LP
+個別のソースファイル名で明示的に渡して 
+.B Javadoc 
+ツールを実行する場合は、
+テストファイルおよびテンプレートファイルを意図的に除外して、
+処理されないようにすることができます。ただし、パッケージ名または
+ワイルドカードで渡す場合は、以下のルールに従って、これらのテストファイル
+およびテンプレートファイルが
+処理されないようにする必要があります。
+.LP
+テストファイルとテンプレートファイルの違いは、
+テストファイルは、正当でコンパイル可能なソースファイルであるのに対して、
+テンプレートファイルは、そうではないという点です。ただし、
+テンプレートファイルも「.java」で終わることができます。
+.TP
+テストファイル \-
+開発者の多くは、あるパッケージのコンパイル可能で実行可能な
+テストファイルをそのパッケージのソースファイルと同じ
+ディレクトリに配置したいと考えています。
+しかしテストファイルは、名前なしパッケージなど、
+ソースファイルパッケージとは別のパッケージに属させたいとも
+考えています (そのため、テストファイルには package ステートメントがないか、
+またはソースとは別の package ステートメントがあります)。
+このような状況では、コマンド行で指定されているソースのパッケージ名を指定して
+そのソースがドキュメント化されているときに、
+テストファイルは警告またはエラーを引き起こします。
+そのようなテストファイルはサブディレクトリに配置する必要があります。
+たとえばソースファイルのテストファイルを
+.B com.package1
+に追加する場合は、それらのテストファイルを、ハイフンが含まれるため
+パッケージ名としては無効になる
+サブディレクトリに配置します。
+.LP
+.RS 5
+com/package1/test-files/
+.RE
+.LP
+こうすると、
+.B Javadoc 
+ツールでは警告なしで
+test ディレクトリをスキップします。
+.LP
+テストファイルに doc コメントが含まれる場合、
+次のようにワイルドカードを含んだテストソースファイル名で渡して
+テストファイルのドキュメントを生成するように、
+.B Javadoc 
+ツールを別個に実行できるように設定できます。
+\f2com/package1/test\-files/*.java\fP.
+.TP
+ソースファイルのテンプレート\-
+テンプレートファイルの名前は「.java」で終わることもありますが、
+テンプレートファイルはコンパイルできません。
+ソースディレクトリに保持したいソースファイルの
+テンプレートがある場合は、
+このファイル名にハイフン (Buffer-Template.java など) や
+その他の不正な Java 文字を使用します。
+こうすることで、処理されないようになります。
+これは、
+.B Javadoc 
+ツールが処理するのは、「.java」接尾辞を除いた名前が
+正規のクラス名であるソースファイルだけであるためです (「識別子」http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#40625 参照)。
+.SS  "生成されるファイル"
+デフォルトでは、
+.B javadoc 
+は、HTML 形式のドキュメントを生成する標準ドックレットを
+使います。
+このドックレットは、以下の種類のファイルを生成します。以下の
+各 HTML「ページ」は、それぞれ別のファイルに対応します。
+.B javadoc
+が生成するファイルの名前には、クラスやインタフェースの名前に
+ちなんだものと、そうでないもの (\f3package-summary.html\f1 など) 
+の 2 種類があります。後者のグループには、前者のグループの名前と
+ファイル名が競合しないように、ハイフンが含まれています。 
+.SS "基本内容ページ"
+.TP 2
+\(bu
+ドキュメント化する各クラスまたは各インタフェースに対し、1 つのクラス
+ページまたはインタフェースページ (\f3classname.html\f1) 
+.TP 2
+\(bu
+ドキュメント化する各パッケージに対し、1 つのパッケージ
+ページ (\f3package-summary.html\f1)。
+.B javadoc
+ツールによって、ソースツリーのパッケージディレクトリ内の 
+.B package.html
+または
+package\-info.java
+というファイル内のすべての HTML テキストが含められる 
+.TP 2
+\(bu
+パッケージのセット全体に対して 1 つの概要
+ページ (\f3overview-summary.html\f1)。これは、生成される
+ドキュメントの先頭ページになる。
+.B javadoc
+ツールによって、
+.B -overview
+オプションで指定されたファイル内のすべての HTML テキストが含められる。
+このファイルが作成されるのは、
+.B javadoc
+に 2 つ以上のパッケージ名を渡した
+場合だけであることに注意する。詳細は、以下の「HTML フレーム」節を参照
+.SS "相互参照ページ"
+.TP 2
+\(bu
+パッケージのセット全体に対して 1 つのクラス階層ページ 
+(\f3overview-tree.html\f1)。これを表示するには、ナビゲーション
+バーの [概要] をクリックしてから、[階層ツリー] をクリックする 
+.TP 2
+\(bu
+各パッケージに対して 1 つのクラス階層
+ページ (\f3package-tree.html\f1)。
+特定のパッケージページ、クラスページ、またはインタフェースページを
+表示し、[階層ツリー] をクリックすると、そのパッケージの階層が
+表示される 
+.TP 2
+\(bu
+各パッケージに対して 1 つの [使用] 
+ページ (\f3package-use.html\f1)と、
+各クラスおよびインタフェースに対して別に 1 つの [使用]
+ページ(\f3class-use/classname.html\f1)。このページは、特定のクラス、
+インタフェース、またはパッケージのなんらかの部分を使っている
+パッケージ、クラス、メソッド、コンストラクタ、およびフィールドを
+記述する。クラスまたはインタフェース A について考えると、
+その[使用] ページには、A のサブクラス、A として宣言された
+フィールド、A を返すメソッド、A 型のパラメータを持つメソッド
+およびコンストラクタが表示される。このページには、パッケージ、
+クラス、またはインタフェースに移動してから、ナビゲーションバー
+の [使用] リンクをクリックすることによってアクセスできる 
+.TP 2
+\(bu
+非推奨 API ページ (\f3deprecated-list.html\f1)。推奨されない
+名前すべての一覧が含まれている (非推奨名は、通常は改良された API が
+存在するために使用が推奨されていない API の名前で、たいていはそれに
+置き換わる名前が提示されている。非推奨 API は、将来の実装では
+削除される可能性がある) 
+.TP 2
+\(bu
+定数フィールド値ページ (\f3constant-values.html\f1) 。
+static フィールドの値が表示される。 
+.TP 2
+\(bu
+直列化形式ページ (\f3serialized-form.html\f1)。直列化可能クラス
+および外部化可能クラスの情報用。これらの各クラスには、直列化
+フィールドおよびメソッドに関する説明がある。これらの情報は、API を
+使う開発者ではなく、再実装者に必要な情報である。ナビゲーションバーに
+リンクがない場合、任意の直列化されたクラスに移動して、
+クラスの [関連項目] セクション内の [直列化された形式] をクリック
+するとこの情報を取得できる
+標準ドックレットは、直列化された形式のページを自動的に生成する。
+ここには、Serializable を実装する public または非 public の
+クラスが組み込まれており、さらに、
+.B readObject 
+メソッド、
+.B writeObject
+メソッド、直列化されたフィールド、
+および @serial タグ、@serialField タグ、@serialData タグからの
+ドキュメンテーションコメントが組み込まれている。 
+直列化が可能な public クラスを除外するには、
+そのクラスまたはそのクラスが属するパッケージを @serial exclude タグで
+指定する。直列化が可能な package private クラスを含めるには、
+そのクラスまたはそのクラスが属するパッケージを @serial include タグで
+指定する。 1.4 では、
+\-private 
+オプションを指定せずに javadoc を実行することで、public クラスおよび 
+private クラスに完全な直列化形式を生成することができる。 
+.TP 2
+\(bu
+索引 (\f3index-*.html\f1)。すべてのクラス名、
+インタフェース名、コンストラクタ名、フィールド名、およびメソッド名を
+アルファベット順に並べてある。索引は、Unicode を扱えるように
+国際化されており、1 つのファイルとして生成するか、または先頭
+文字 (英語の場合 A から Z) ごとに別のファイルとして生成できる 
+.SS "サポートファイル"
+.TP 2
+\(bu
+ヘルプページ (\f3help-doc.html\f1)。ナビゲーションバーおよび
+上記のページについて説明する。
+.BR \-helpfile 
+を使って、デフォルトの
+ヘルプファイルに置き換わる独自のカスタムヘルプファイルを提供する
+こともできる 
+.TP 2
+\(bu
+1 つの
+.B index.html
+ファイル。表示用 の HTML フレームを作成する。このファイルは、
+フレーム付きの最初のページを表示する場合にロードする。このファイル
+自体は、テキスト内容を含まない 
+.TP 2
+\(bu
+複数のフレームファイル (\f3*-frame.html\f1)。パッケージ、クラス、
+およびインタフェースの一覧を含む。HTML フレームを表示するときに
+使われる 
+.TP 2
+\(bu
+パッケージリストファイル (\f3package-list\f1)。
+.B \-link
+オプションおよび 
+.B \-linkoffline
+オプションで使われる。これは、HTML ファイルではなくテキストファイル
+のため、リンクではアクセスできない 
+.TP 2
+\(bu
+スタイルシートファイル (\f3stylesheet.css\f1)。生成されるページ上に
+表示される限られた色数、フォントファミリ、フォントサイズ、フォントの
+スタイルおよび配置を制御する 
+.TP 2
+\(bu
+コピー先ディレクトリにコピーしたいファイル (イメージ、サンプル、
+ソースファイルなど) が入っている doc ファイルのディレクトリ。
+.B javadoc 
+ツールはこのようなファイルを処理しない。つまり、このようなファイル内の
+.B javadoc
+タグはすべて無視される。ソースツリーに存在しない限り、この
+ディレクトリは生成されない
+.SS "HTML フレーム"
+.B javadoc 
+ツールは、下の図に示すように、2 つか 3 つの HTML フレームを生成します。
+1 つのパッケージしかない場合 (またはパッケージがない場合) は、パッケージの一覧を省略することによって最低限必要な数のフレームを作成します。
+ソースファイル (*\f3.java\f1) または単一のパッケージ名を引数として
+.B javadoc
+コマンドに渡す場合は、左側の列にクラスの一覧を表示する
+フレーム (C) 1 つだけが作成されます。
+.B javadoc
+に複数のパッケージ名を渡す場合は、概要ページ (Detail) に加えて、
+すべてのパッケージの一覧を表示する第 3 のフレーム (P) が
+作成されます。この概要ページのファイル名は
+.BR overview-summary.html
+です。したがって、このファイルが作成されるのは、2 つ以上のパッケージ
+名を渡した場合だけです。[フレームなし] リンクをクリックするか、
+.BR overview-summary.html
+から表示するようにすると、フレームを省略できます。 
+.LP
+HTML フレームに慣れていない場合は、フレームには、印刷および
+スクロール用の「フォーカス」が必要であることに注意する
+必要があります。フレームにフォーカスを与えるには、そのフレームを
+クリックします。すると、多くのブラウザでは、矢印キーおよびページキー
+を使ってそのフレームをスクロールしたり、[印刷] メニュー
+コマンドを使ってそのフレームを印刷したりできるようになります。 
+.LP
+.ft 3
+.nf
+    ------------                ------------
+    |C| Detail |                |P| Detail |
+    | |        |                | |        |
+    | |        |                |-|        |
+    | |        |                |C|        |
+    | |        |                | |        |
+    | |        |                | |        |
+    ------------                ------------
+   javadoc *.java           javadoc java.lang java.awt
+.fi
+.ft 1
+.LP
+HTML フレームが必要かどうかによって、次のどちらかのファイルを
+開始ページとしてロードします。 
+.LP
+.TP 2
+\(bu
+.B index.html 
+(フレームあり) 
+.TP 2
+\(bu
+.B overview-summary.html 
+(フレームなし) 
+.SS "生成されるファイル構造"
+生成されるクラスファイルおよびインタフェースファイルは、Java ソース
+ファイルおよびクラスファイルと同じディレクトリ階層で組織
+されます。この構造は、1 つのサブパッケージにつき 1 つのディレクトリ
+で構成されます。 
+.LP
+たとえば、
+.B java.applet.Applet 
+クラスに対して生成されるドキュメントは、
+.BR java/applet/Applet.html 
+に格納されます。生成先のディレクトリの名前が apidocs だと
+すると、java.applet パッケージのファイル構造もこれに従います。
+前述したように、「frame」という語を名前に含むファイルは、
+すべて左上または左下のフレームに表示されます。それ
+以外の HTML ファイルは、すべて右側のフレームに表示されます。 
+.LP
+注: ディレクトリは、太字 (bold) で示してあります。
+アスタリスク (*) は、
+.B javadoc 
+への引数がパッケージ名でなくソースファイル名 (*\f3.java\f1) の
+ときに、省略されるファイルおよびディレクトリを示しています。また、
+引数がソースファイル名のときには、
+.B package-list
+は作成されますが、空です。
+.B doc-files 
+ディレクトリは、ソースツリー内に存在しない限り、生成先に表示されません。 
+.LP
+.RE
+.nf
+\f3
+.fl
+
+.fl
+\fP\f3apidocs\fP                             最上位ディレクトリ
+.fl
+   index.html                       HTML フレームを設定する初期ページ
+.fl
+ * overview\-summary.html            全パッケージのリスト。先頭に要約文がある
+.fl
+   overview\-tree.html               全パッケージのクラス階層のリスト
+.fl
+   deprecated\-list.html             全パッケージの推奨されない API のリスト
+.fl
+   constant\-values.html             全パッケージの static フィールドの値のリスト
+.fl
+   serialized\-form.html             全パッケージの直列化された形式のリスト
+.fl
+ * overview\-frame.html              全パッケージのリスト。左上のフレームに表示される
+.fl
+   allclasses\-frame.html            全パッケージの全クラスのリスト。左下のフレームに表示される
+.fl
+   help\-doc.html                    これらのページの構成を示すユーザヘルプを表示する
+.fl
+   index\-all.html                   \-splitindex オプションなしで作成されたデフォルト索引
+.fl
+   \f3index\-files\fP                      \-splitindex オプションを指定して作成されたディレクトリ
+.fl
+       index\-<number>.html          \-splitindex オプションを指定して作成された索引ファイル
+.fl
+   package\-list                     パッケージ名のリスト。外部参照を解決するためだけに使用される
+.fl
+   stylesheet.css                   フォント、色、配置を定義する HTML スタイルシート
+.fl
+   \f3java\fP                             パッケージディレクトリ
+.fl
+       \f3applet\fP                       サブパッケージディレクトリ
+.fl
+            Applet.html             Applet クラスのページ
+.fl
+            AppletContext.html      AppletContext インタフェースのページ
+.fl
+            AppletStub.html         AppletStub インタフェースのページ
+.fl
+            AudioClip.html          AudioClip インタフェースのページ
+.fl
+          * package\-summary.html    このパッケージのクラスのリスト。先頭に要約文がある
+.fl
+          * package\-frame.html      このパッケージのクラスのリスト。左下のフレームに表示される
+.fl
+          * package\-tree.html       このパッケージのクラス階層のリスト
+.fl
+            package\-use             このパッケージが使用されている場所のリスト
+.fl
+            \f3doc\-files\fP               イメージやサンプルのファイルが格納されるディレクトリ
+.fl
+            \f3class\-use\fP               API が使用されている場所のページを格納するディレクトリ
+.fl
+                Applet.html         Applet クラスを使用するページ
+.fl
+                AppletContext.html  AppletContext インタフェースを使用するページ
+.fl
+                AppletStub.html     AppletStub インタフェースを使用するページ
+.fl
+                AudioClip.html      AudioClip インタフェースを使用するページ
+.fl
+   \f3src\-html\fP                         ソースコードディレクトリ
+.fl
+       \f3java\fP                         パッケージディレクトリ
+.fl
+           \f3applet\fP                   サブパッケージディレクトリ
+.fl
+                Applet.html         Applet ソースコードのページ
+.fl
+                AppletContext.html  AppletContext ソースコードのページ
+.fl
+                AppletStub.html     AppletStub ソースコードのページ
+.fl
+                AudioClip.html      AudioClip ソースコードのページ
+.fl
+.fi
+
+.LP
+.SS "生成される API 宣言"
+javadoc ツールは、各クラス、インタフェース、フィールド、コンストラクタ、
+およびメソッドの説明の初めで宣言を生成します。
+この宣言は、その API 項目の宣言です。たとえば、
+ブール型クラスの宣言は次のようになります。
+.LP
+.LP
+\f2public final class Boolean\fP
+.br
+\f2extends Object\fP
+.br
+\f2implements Serializable\fP
+.LP
+.LP
+Boolean.valueOf メソッドの宣言は次のようになります。
+.LP
+.LP
+\f2public static Boolean valueOf(String s)\fP
+.LP
+.LP
+javadoc ツールは修飾子 
+.BR public
+、
+.BR protected
+、
+.BR private
+、
+.BR abstract
+、
+.BR final
+、
+.BR static
+、
+.BR transient
+、
+および 
+.BR volatile
+を組み込むことができますが、
+.BR synchronized
+と
+.BR native 
+は組み込むことができません。
+.BR synchronized
+と
+.BR native 
+修飾子は実装の詳細と見なされ、API 仕様の一部とは見なされません。
+.LP
+キーワード
+.BR synchronized
+に依存するよりも、「複数のスレッドによって単一の 
+.BR Enumeration
+を並行して使用してはならない」というように、並行処理のセマンティックスを
+コメント説明の中でドキュメント化するべきです。ドキュメントでは、
+これらのセマンティックスの達成方法を説明すべきではありません。別の
+例を挙げると、
+.BR Hashtable
+はスレッドに対して安全でなければなりませんが、エクスポートされるその
+メソッドすべてを同期させることによってこれを実現すると明記する必要
+はないということです。バケットレベルで内部的に同期をとる権限を留保して、
+より高度な並行性を提供すべきです。
+.LP
+.SH "ドキュメンテーションコメント"
+.LP
+.LP
+オリジナルの「ドキュメンテーションコメントの仕様」は、「関連項目」を参照してください。
+.LP
+.SS
+ソースコードへのコメントの挿入
+.LP
+.LP
+ソースコードの任意の宣言 (クラス、インタフェース、メソッド、コンストラクタ、
+またはフィールド) の前に、ドキュメンテーションコメント (doc コメント) 
+を記述することができます。 各パッケージにドキュメンテーションコメントを
+作成でき、構文は若干異なりますが、概要にもドキュメンテーションコメントを
+作成できます。 ドキュメンテーションコメントは、Javadoc コメントとも呼ばれます。
+ドキュメンテーションコメントは、コメントの始まりを示す文字列 
+.B /**
+ と、コメントの終わりを示す文字列 
+.B */ 
+の間にある文字で構成されます。 行頭のアスタリスクは、各行に記述できます。詳細は、以下で説明します。 Linux ではテキストは、複数行にわたって記述できます。 
+.LP
+.RS
+.ft 3
+.nf
+/**
+* This is the typical format of a simple documentation comment
+* that spans two lines.
+*/
+.fi
+.ft 1
+.RE
+.LP
+次のように、コメントは 1 行にまとめることもできます。
+.LP
+.RS
+.ft 3
+.nf
+/** This comment takes up only one line. */
+.fi
+.ft 1
+.RE
+.LP
+コメントの配置 - ドキュメンテーションコメントが認識されるのは、クラス、
+インタフェース、コンストラクタ、メソッド、またはフィールド
+宣言の前に置かれた場合だけです (クラス、メソッド、およびフィールドの
+例を参照)。メソッドの本体に置かれたドキュメント
+コメントは無視されます。
+.B javadoc
+ツールは、宣言文ごとに 1 つのドキュメンテーションコメントだけを
+認識します。
+.LP
+よく発生する間違いは、重要な文をクラスコメントとクラス宣言の間に
+入れてしまうことです。
+.B javadoc
+はクラスコメントを無視するため、注意してください。
+.LP
+.RS
+.ft 3
+.nf
+/**
+* This is the class comment for the class Whatever.
+*/
+
+import com.sun;   // MISTAKE - Important not to put statements here
+
+public class Whatever {
+}
+.fi
+.ft 1
+.RE
+.LP
+コメントの説明のあとにタグが続く - コメントの開始区切り文字である 
+.B /** 
+のあとからタグセクションまでが説明になります。 タグセクションは、
+先頭文字が 
+.B @ 
+である行から始まります (行の先頭のアスタリスクおよび空白文字
+は除く)。 説明を記述せず、コメントだけのタグを記述することもできます。 
+説明は、タグセクション以降に続けることはできません。 
+タグの引数は複数の行にまたがって記述できます。 タグの数に
+制限はありません。何回も記述できるタグと、1 回しか記述できない
+タグがあります。 次の例の 
+.B @see 
+からタグセクションが始まります。 
+.LP
+.nf
+\f3
+.fl
+/**
+.fl
+ * This sentence would hold the main description for this doc comment.
+.fl
+ * @see java.lang.Object
+.fl
+ */
+.fl
+\fP
+.fi
+
+.LP
+.LP
+標準タグとインラインタグ: タグは、javadoc ツールが処理できる、
+doc コメント内の特別なキーワードです。javadoc ツールには、@tag として現れる
+標準タグと、中括弧内に 
+.B {\f3@tag\f1}
+として現れるインラインタグがあります。解釈
+させるためには、先頭のアスタリスク、空白、コメント区切り文字 (/**) を
+除いては標準タグが行の先頭であるように配置する必要があります。つ
+まり、ユーザはテキスト内の任意の位置で @ 文字を使用でき、
+この文字はタグの始めとは解釈されません。@ 文字で行を開
+始してこれが解釈されないようにしたい場合は、HTML エンティティの 
+&#064; を使用してください。各スタンドアロンタグには関連するテキストがあり
+ます。これは、そのタグの後から次のタグの直前まで、または doc コメント
+の最後までの任意のテキストです。関連付けられたテキストは、
+複数行にまたがって記述できます。 
+インラインタグは、そのテキストが許
+可される位置にはどこでも指定でき、解釈の対象となります。次の例は、
+標準タグ
+.BR @deprecated
+とインラインタグ
+.BR {@link}
+が含まれています。
+.LP
+.RS
+.ft 3
+.nf
+/**
+ * @deprecated As of JDk 1.1, replaced by {@link #setBounds(int,int,int,int)}
+ */
+.fi
+.ft 1
+.RE
+.LP
+コメントは HTML で記述します。テキストは HTML で
+記述しなければなりません。
+これは、HTML のエンティティを使う必要があること、
+および HTML タグを使用できること
+を意味します。HTML は、使用するブラウザがサポートする
+任意のバージョンを使うことが
+できます。標準ドックレットは、階層式スタイルシートと
+フレームを含むほかの部分 (ドキュメンテーションコメント
+以外) は、HTML 3.2 に準拠したコードを生成するように記述
+されています 
+(フレームセット対応のため、生成される各
+ファイルは、「HTML 4.0」で始まる)。 
+.LP
+たとえば、より小さい (<) およびより大きい (>) という
+記号は、
+.B &lt; 
+と 
+.BR &gt; 
+と記述する必要があります。同様に、アンパサンド (&) は、
+.BR &amp; 
+と記述する必要があります。次の例で
+は、ボールドの HTML タグ <b> を示します。 
+.LP
+次に doc コメントを示します。 
+.LP
+.RS
+.ft 3
+.nf
+/**
+* This is a <b>doc</b> comment.
+* @see java.lang.Object
+*/
+.fi
+.ft 1
+.RE
+.LP
+行頭のアスタリスク - 
+.B javadoc 
+は、doc コメントを解析するときに、各行の先頭にある
+文字アスタリスク (*) をすべて破棄し
+ます。また、最初のアスタリスク (*) より前の空白と
+タブも破棄します。1.4 からは、行頭のアスタリスクを省略した場合、行頭の空白は削除されません。これにより、<PRE> タグの中の doc コメントに、サンプルコードをインデントを残したままで直接ペーストすることができます。空白は一般的に、タブよりも均一にブラウザで解釈されます。インデントは、区切り文字 /** や <PRE> タグではなく、左マージンに相対的です。
+.LP
+最初の文 - 各 doc コメントの最初の文は、宣言されている
+エンティティに関する簡潔かつ完全
+な説明を含む要約文でなければなりません。
+この文は、空白、タブ、または行末記
+号が続いている最初のピリオド、あるいは最初のスタンドアロンタグで終了します。
+.B javadoc
+ツールは、HTML ページの最初にあるメンバ要約に、この最初の文をコピーします。
+.LP
+複数フィールドの宣言 - 
+.B java 
+では、単一の文で複数のフィールドを宣言できます。
+しかし、この文のドキュメンテ
+ーションコメントは 1 つだけで、このコメントが
+すべてのフィールドにコピーされます。
+したがって、フィールドごとに個々の
+ドキュメンテーションコメントを付けたい場合は、
+各フィールドを異なる文で宣言しなければなりません。
+たとえば、次のドキュメンテー
+ションコメントは単一の宣言としては意味を成さず、
+2 つの宣言として処理するべき
+です。
+.LP
+.RS
+.ft 3
+.nf
+/**
+* The horizontal and vertical distances of point (x,y)
+*/
+public int x, y;      // Avoid this
+.fi
+.ft 1
+.RE
+.LP
+.B javadoc
+ツールは、上記コードから次のドキュメントを生成します。
+.LP
+.RS
+.ft 3
+public int x
+.fi
+.ft 1
+The horizontal and vertical distances of point
+(x,y).
+.ft 3
+.nf
+public int y
+.fi
+.ft 1
+The horizontal and vertical distances of point
+(x,y).
+.RE
+.LP
+ヘッダタグを使用するときは注意してください。
+メンバ用のドキュメントコ
+メントを書くときは、
+.B <H1>
+や
+.BR <H2>
+などの HTML ヘッダタグを使用しないでください。これは、
+.B javadoc
+が全ドキュメントを構造化して生成するため、
+これらの構造化タグを使用すると、
+ドキュメントの書式が乱れる可能性があるためです。
+しかし、クラスやパッケージの
+コメントでは、これらのヘッダタグを使用して構造化を指示してください。
+.LP
+メソッドコメントの自動コピー
+.LP
+.LP
+Javadoc ツールには、次の 2 つの場合に、クラスおよびインタフェースのメソッドコメントをコピーまたは「継承」する機能があります。コンストラクタ、フィールド、および入れ子のクラスは、ドキュメンテーションコメントを継承しません。
+.LP
+.RS 3
+.TP 2
+o
+\f3自動的にコメントを継承して、見つからないテキストを埋める\fP \- 主説明または、\f2@return\fP、\f2@param\fP、\f2@throws\fP タグが、メソッドコメントで見つからない場合、Javadoc ツールは、オーバーライドしたメソッドまたは実装している場合はそのメソッドから、対応する主説明およびタグコメントを、次のアルゴリズムに従ってコピーします。
+.LP
+厳密には、特定のパラメータの \f2@param\fP タグが見つからない場合、そのパラメータのコメントが、上位の継承階層のメソッドからコピーされます。特定の例外の \f2@throws\fP タグが見つからない場合、\f2その例外が宣言されている場合にかぎり\fP、その \f2@throws\fP タグがコピーされます。
+.LP
+この動作はバージョン 1.3 以前の動作とは対照的です。これまでのバージョンでは、主説明またはタグが存在すれば、コメントは一切継承されませんでした。
+.TP 2
+o
+\f3{@inheritDoc} タグを持つコメントを明示的に継承する\fP \- インラインタグ \f2{@inheritDoc}\fP を、メソッドの主説明、または \f2@return\fP、\f2@param\fP、\f2@throws\fP タグコメントに挿入します。継承した対応する主説明またはタグコメントは、その箇所にコピーされます。
+.RE
+
+.LP
+.LP
+ドキュメンテーションコメントを実際にコピーに利用するには、継承したメソッドのソースファイルが \-sourcepath で指定したパスだけに置かれていることが必要になります。コマンド行で、クラスもパッケージも渡す必要はありません。この点は、クラスが ドキュメント化されるクラスでなければならなかった 1.3.x 以前のリリースと異なります。
+.LP
+.LP
+\f3クラスおよびインタフェースからの継承\fP \- クラスおよびインタフェースから継承する次の 3 つの場合に、コメントの継承が行われます。
+.LP
+.RS 3
+.TP 2
+o
+クラスのメソッドがスーパークラスのメソッドをオーバーライドしている
+.TP 2
+o
+インタフェースのメソッドがスーパーインタフェースのメソッドをオーバーライドしている
+.TP 2
+o
+クラスのメソッドがインタフェースのメソッドを実装している
+.RE
+
+.LP
+.LP
+最初の 2 つのケース (メソッドがオーバーライドしている場合) では、
+.B javadoc 
+ツールは、オーバーライドしているメソッドのドキュメント内に
+「オーバーライド」という小見出しを生成し、コメントが継承されているかどうかにかかわらず、オーバーライドされている
+メソッドへのリンクを書き込みます。 
+.LP
+3 つ目のケース (特定のクラスのメソッドがインタフェースの
+メソッドを実装している場合) では、
+.B javadoc 
+ツールは、実装している
+メソッドのドキュメント内に「定義」という小見出しを生成し、コメントが継承されているかどうかにかかわらず、
+実装されているメソッドへのリンクを書き込みます。 
+.LP
+メソッドの説明が継承されるアルゴリズム - あるメソッドに
+ドキュメンテーションコメントが記述されていない場合、または {@inheritDoc} タグがある場合、
+.B javadoc
+ツールは、次のようなアルゴリズムを使用して適切なコメントを検索します。
+このアルゴリズムは、もっとも適切なドキュメンテーションコメントを
+検索できるように設計されており、スーパークラスよりも
+インタフェースが優先されるようになっています。 
+.TP 4
+1. 
+直接に実装されている (または、拡張されている) インタフェースを、
+メソッドの宣言で implements (または extends) キーワードのあとに
+登場する順序で、1 つずつ調べる。 このメソッドについて
+最初に見つかったドキュメンテーションコメントを採用する 
+.TP 4
+2. 
+手順 1 でドキュメンテーションコメントが見つからなかった場合は、
+直接実装されている (または、拡張されている) インタフェースの
+それぞれに対して、このアルゴリズム全体を再帰的に適用する (その際の順序は、手順 1 でインタフェースを調べたときの順序と同じ) 
+.TP 4
+3. 
+手順 2 でドキュメンテーションコメントが見つからなかった場合で、
+このクラスが Object 以外のクラスである (インタフェースではない) 場合は、
+次のように処理する 
+.sp 1n
+.nf
+.ft 3
+a. スーパークラスにこのメソッドについてのドキュメンテーションコメントが記述されていれば、そのコメントを採用する 
+b. 手順 3a でドキュメンテーションコメントが見つからなかった場合は、スーパークラスに対して、このアルゴリズム全体を適用する 
+.ft 1
+.fi
+.LP
+.SS "javadoc のタグ"
+.LP
+.B javadoc 
+ツールは、
+.B java doc
+コメント内に埋め込まれた特殊なタグを解析します。これらの
+特殊な doc タグを使うと、
+書式の整った完全な API ドキュメントをソース
+コードから自動的に生成できます。
+タグは、単価記号 (\f3@\f1) で始まり、大文字小文字が
+区別されます。これらのタグは、
+以下に示すとおりに、大文字と小文字を区別して入力する
+必要があります。タグは、行
+の先頭 (ただし先行する空白と省略可能なアスタリスクは除く) から
+始めなければなり
+ません。慣習上、同じ名前のタグは 1 個所にまとめて記述します。
+たとえば、
+.B @see
+タグが複数ある場合は、すべてを 1 個所にまとめて記述します。 
+.LP
+タグは次の 2 種類あります。
+.LP
+\(bu
+スタンドアロンタグ - 説明のあとのタグセクションだけに
+置くことができます。 このタグは、@tag のように中括弧で囲みません。
+.LP
+\(bu
+インラインタグ - コメントの説明内またはスタンドアロンタグの
+コメント中の任意の場所に置くことができます。 インラインタグは、{@tag} の
+ように中括弧で囲みます。
+.LP
+今後のリリースで導入されるタグについては、
+.fi
+http://java.sun.com/j2se/javadoc/proposed\-tags.html
+の
+.na
+「\f2Proposed Tags\fP」を参照してください。 
+.LP
+.LP
+現時点で有効なタグは、次のとおりです。
+.LP
+.RS 3
+
+.LP
+.LP
+.TS
+center;
+cbp-1 cbp-1
+l l.
+タグ	導入された JDK/SDK のバージョン
+@author	1.0
+{@code}	1.5
+{@docRoot}	1.3
+@deprecated}	1.0
+@exception	1.0
+{@inheritDoc}	1.4
+{@link}	1.2
+{@linkplain}	1.4
+{@literal}	1.5
+@param	1.0
+@return	1.0
+@see	1.0
+@serial	1.2
+@serialData	1.2
+@serialField	1.2
+@since	1.1
+@throws	1.2
+{@value}	1.4
+@version	1.0
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-42
+
+.LP
+.LP
+カスタムタグについては、\-tag オプションを参照してください。 
+.TP
+.BI @author  " name-text"
+.B \-author 
+オプションが使われている場合、
+生成されるドキュメントに、指定された 
+name-text を持つ Author エントリを追加します。
+1 つの doc コメントに複数の 
+.B @author
+タグを含めることができます。
+.B @author
+タグごとに 1 つ、またはタグごとに複数の名前を
+指定できます。前者の場合は、
+.B javadoc
+ツールは、名前と名前の間にコンマ (\f3,\f1) とスペースを挿入します。
+後者の場合、テキスト全体が
+解析されることなく生成されるドキュメントにコピーされるだけです。
+このため、コンマ以外
+の現地仕様の名前区切り文字を使う場合は、1 行に複数の名前を指定します。 
+.LP
+詳細については、「タグを使用できる場所」および
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@author
+の
+.na
+\f2@author タグのドキュメント\fPを参照してください。
+.LP
+.TP 3
+@deprecated\  deprecated\-text 
+.RS 3
+
+.LP
+.LP
+注: JDK 5.0 から、@Deprecated 注釈を使って特定のプログラム要素を非推奨にできるようになりました。
+.LP
+この API は (動作はするが) 使用すべきでないことを示す
+コメントを追加します。
+.B javadoc 
+ は、deprecated-text を説明の前に移動してイタリックにし、
+その前にボールドの警告
+「推奨されません。」を追加します。このタグはすべての doc コメント (概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、フィールド) で有効です。 
+.LP
+.RS 
+deprecated-text の最初の文では、少なくともユーザにどのようなときに
+その API が推奨されないか、およびそれに代わる API を提示する
+必要があります。
+.B javadoc 
+は、最初の文だけを要約セクションと索引にコピーします。
+あとに続く文で、なぜその API が推奨されないかを
+説明することもできます。代わりの API を
+指し示す {\f3@link\f1} タグ (
+.B javadoc 
+1.2 以降の場合) を含める必要があります。 
+.LP
+詳細については、
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@deprecated
+の
+.na
+\f2@deprecated タグのドキュメント\fPを参照してください。
+.LP
+.TP 2
+\(bu
+.B javadoc
+1.2 以降では、{\f3@link\f1} タグを使用してください。これにより、
+必要な場所にインラインで
+リンクが作成されます。たとえば、次のように使います。 
+.LP
+.RS
+.ft 3
+.nf
+/**
+ * @deprecated  As of JDK 1.1, replaced by 
+ *    {@link #setBounds(int,int,int,int)}
+ */
+.fi
+.ft 1
+.RE
+.LP
+.TP 2
+\(bu
+.B javadoc 
+1.1 では、各 
+.B @deprecated 
+タグに 
+.B @see
+タグ (インラインにできない) を作成するのが標準の形式です。 
+.LP
+推奨されないタグについての詳細は、「
+.B @deprecated
+タグ」 を参照してください。 
+.RE
+.TP
+.B {@code text}
+<code>{@literal}</code> と同等です。
+.LP
+テキストを HTML マークアップまたは
+入れ子になった javadoc タグとして解釈せずに、
+テキストをコードフォントで表示します。
+これにより doc コメントでは、
+パラメータの種類 ( <Object> )、不等号  ( 3 < 4 )、
+または矢印 ( <- ) などで、HTML エンティティ ( &lt; および &gt; )  ではなく、
+通常の山括弧 (< および >)  を使用できます。
+たとえば doc コメントのテキスト
+.LP
+.RS 5
+{@code A<B>C} 
+.RE
+.LP
+は、生成された HTML ページで、次のようにそのまま表示されます。
+.LP
+.RS 5
+A<B>C
+.RE
+.LP
+注目すべき点として、<B> は太字であると解釈されませんが、
+コードフォントになります。
+.LP
+コードフォントなしで同じ機能を実現するには、
+{@literal} を使用します。
+.RE
+.TP
+.B {@docRoot}
+生成された任意のページを起点とした、ドキュメントの (出力先) 
+ルートディレクトリの相対パスを表します。このタグは、著作権ページ
+または会社のロゴなど、生成されるすべてのページから参照するファイル
+を取り込むときに使います。通常は、各ページの最下部から著作権
+ページにリンクします。
+.RS
+.LP
+この \f2{@docRoot}\fP タグは、コマンド行からも、ドキュメンテーションコメントの中でも使用できます。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
+.TP 4
+1.
+コマンド行では、次のようにヘッダ (header)、フッタ (footer)、
+またはページの最下部 (bottom)を定義します。
+.sp 1n
+.B javadoc \-bottom '<a href="{@docRoot}/copyright.html">Copyright</a>'
+.LP
+注 -  Makefile の中で {\f3@docRoot\f1}をこのように利用する場合、
+一部の Makefile プログラムでは、中括弧 { } 文字をエスケープする
+必要があります。 たとえば、Inprise MAKE バージョン 5.2 を 
+Windows 上で実行する場合は、{{\f3@docRoot\f1}} のように、
+中括弧を二重にする必要があります。さらに、\-bottom などの
+オプションに対する引数を、単一引用符ではなく、
+二重引用符で囲む必要があります。href 
+引数の値を囲む引用符は省略します。 
+.TP
+2.
+doc コメントには次のように記述します。
+.sp 1n
+.nf
+.ft 3
+/**
+* See the <a href="{@docRoot}/copyright.html">Copyright</a>.
+*/
+.ft 1
+.fi
+.LP
+このタグが必要な理由は、生成されるドキュメントが、サブパッケージと
+同じ階層のディレクトリに格納されるためです。たとえば、次のように指定します。 
+.LP
+.ti +5n
+.B <a href="{@docRoot}/copyright.html">
+.LP
+次のように解決されます。 
+.LP
+.ti +5n
+\f3<a href=".\|.\|/.\|.\|/copyright.html">\f1   .\|.\|. java/lang/Object.java の場合
+.sp 1n
+および
+.sp 1n
+.ti +5n
+\f3<a href=".\|.\|/.\|.\|/.\|.\|/copyright.html">\f1 .\|.\|. java/lang/ref/Reference.java の場合
+.RE
+.TP
+.BI @exception  " class-name description"
+.B @exception
+タグは、
+.BR @throws
+と同義です。 
+.TP
+{\f3@inheritDoc\f1}
+最も近いスーパークラスから現在の ドキュメンテーションコメントに、ドキュメントを継承します。 この機能により、コメントは継承ツリーの上位に移動し、開発者はコピーしたテキストに記述を追加することができます。
+.LP 
+このタグは、ドキュメンテーションコメントの次の位置でのみ有効です。
+.RS 3
+.TP 2
+o
+メソッドの主説明ブロック内。この場合、主説明は、上位階層のクラスまたはインタフェースからコピーされる
+.TP 2
+o
+メソッドの @return、@param、@throws タグのテキスト引数内。この場合、タグテキストは、上位階層の対応するタグからコピーされる
+.RE
+.LP
+継承階層でコメントを見つける方法に関する正確な説明について、「メソッドコメントの自動コピー」を参照してください。このタグが見つからない場合、コメントは、この節で説明するルールに応じて、自動的に継承されるかどうかが決まります。
+.LP
+.TP 3
+{@link\  package.class#member\  label} 
+表示テキスト label とのインラインリンクを挿入します。\f2label\fP は、参照クラスの指定されたパッケージ、クラス、またはメンバの名前のドキュメンテーションを指し示します。このタグは、@return、@param、@deprecated などの任意のタグのテキスト部分を含む、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。
+.LP
+このタグは、
+.B @see 
+タグとよく似ています。どちらのタグも、package.class#member および 
+.BI label 
+の参照の仕方が同じで、有効な構文もまったく同じです。 
+大きな違いは、{\f3@link\f1} は、リンクを [関連項目] セクションに
+置くのではなく、インラインリンクを生成するということです。 
+また、インラインテキストのほかの部分と区別するために、
+{\f3@link\f1} タグの最初と最後に中括弧を記述します。 
+ラベルの中で「}」を使う必要がある場合は、HTML 
+エンティティの「&#125;」を使います。 
+.LP
+1 つの文の中で使用できる {@link} タグの数に制限はありません。 
+このタグは、ドキュメンテーションコメントの説明部分、または 
+.BR @deprecated
+、
+.BR @return
+、
+.BR @param 
+などの任意のタグのテキスト部分で使うことができます。
+.LP
+たとえば、次のコメントでは、
+.B getComponentAt(int, int) 
+メソッドを参照しています。
+.LP
+.ft 3
+.nf
+Use the {\f3@link #getComponentAt(int, int) getComponentAt\f1} method.
+.fi
+.ft 1
+.LP
+標準ドックレットでは、上記のコメントから次の HTML が
+生成されます (このコメントが同じパッケージの別のクラスを参照している場合)。
+.LP
+.ft 3
+.nf
+Use the 
+<a href="Component.html#getComponentAt(int, int)">getComponentAt</a>method.
+.fi
+.ft 1
+.LP
+この HTML は、Web ページ上では次のように表示されます。 
+.LP
+.ft 3
+.nf
+Use the getComponentAt method.
+.fi
+.ft 1
+.LP
+{\f3@link\f1} を、ドキュメント化の対象にしていないクラスにまで
+拡張するには、
+.BR \-link 
+オプションを使用します。
+.LP
+詳細については、
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#{@link}
+の
+.na
+\f2{@link} タグのドキュメント\fPを参照してください。
+.RE
+.TP
+{@linkplain package.class#member label}
+リンクのラベルがコードフォントではなくプレーンテキストで
+表示されている点以外は、
+{\f3@link\f1} と同じです。 ラベルがプレーンテキストで
+記述されている場合に便利です。次の例を参照してください。
+.LP
+.ft 3
+.nf
+Refer to {\f3@linkplain\f1 add() the overridden method}.
+.fi
+.ft 1
+.LP
+これは以下のように表示されます。 
+.LP
+.ft 3
+.nf
+Refer to the overridden method.
+.fi
+.ft 1
+.LP
+.TP
+.B {@literal  text}
+テキストを HTML マークアップまたは
+入れ子になった javadoc タグとして解釈せずに、
+テキストをコードフォントで表示します。
+これにより doc コメントでは、
+パラメータの種類 ( <Object> )、不等号  ( 3 < 4 )、
+または矢印 ( <- ) などで、HTML エンティティ ( &lt; および &gt; )  ではなく、
+通常の山括弧 (< および >)  を使用できます。
+たとえば doc コメントのテキスト
+.LP
+.RS 5
+{@literal A<B>C}
+.RE
+.LP
+は、生成された HTML ページはブラウザで次のようにそのまま表示されます。
+.LP
+.RS 5
+A<B>C
+.RE
+.LP
+注目すべき点として、<B> は太字であると解釈され、
+コードフォントになりません。
+.LP
+コードフォントで同じ機能を実現するには、
+{@code} を使用します。
+.TP
+.BI @param  " parameter-name description"
+指定した parameter-name と指定した description を使用して
+パラメータを「Parameters」セクションに追加します。
+doc コメントを記述するときは、description を複数行に
+続けることができます。このタグは、
+メソッド、コンストラクタ、またはクラスの
+doc コメント内でのみ有効です。
+.LP
+\f2parameter\-name\fP は、メソッドまたはコンストラクタでのパラメータの名前か、クラス、メソッドまたはコンストラクタのタイプパラメータの名前になります。
+山括弧でパラメータ名を囲むと、型パラメータを使用することを
+指定します。
+.LP
+クラスの型パラメータの例: 
+.nf
+\f3
+.fl
+     /**
+.fl
+      * @param <E> Type of element stored in a list
+.fl
+      */
+.fl
+     public interface List<E> extends Collection<E> {
+.fl
+     }
+.fl
+\fP
+.fi
+.LP
+メソッドの型パラメータの例: 
+.nf
+\f3
+.fl
+     /**
+.fl
+      * @param string  the string to be converted
+.fl
+      * @param type    the type to convert the string to
+.fl
+      * @param <T>     the type of the element
+.fl
+      * @param <V>     the value of the element
+.fl
+      */
+.fl
+     <T, V extends T> V convert(String string, Class<T> type) {
+.fl
+     }
+.fl
+\fP
+.fi
+詳細については、
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@param
+の
+.na
+\f2@param タグのドキュメント\fPを参照してください。
+.LP
+.TP 3
+@return\  description 
+「戻り値」セクションを追加して、\f2description\fP のテキストを書き込みます。このテキストでは、戻り値の型と、取り得る値の範囲について記述する必要があります。このタグは、メソッドのドキュメンテーションコメントでのみ有効です。
+.LP
+詳細については、
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@return
+の
+.na
+\f2@return タグのドキュメント\fPを参照してください。
+.LP
+.TP 3
+@see\  reference 
+「関連項目」見出しを追加し、\f2reference\fP を指すリンクか、またはテキストエントリを書き込みます。1 つのドキュメンテーションコメントには、任意の数の \f2@see\fP タグを指定できます。すべての \f2@see\fP タグの内容は、同じ見出しの下にグループ化されます。\f2@see\fP タグには、次の 3 種類の形式があります。もっともよく使われるのは、3 番目の形式です。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。パッケージ、クラス、またはメンバに対するインラインリンクを文中に挿入する方法は、\f2{@link}\fP を参照してください。
+.RS 3
+.TP 3
+@see "string" 
+string のテキストエントリを追加します。
+リンクは生成されません。string は、書籍、または
+URL ではアクセスできない情報の参照先です。
+.B javadoc 
+ツールは、最初の文字が二重引用符 (") かどうかを調べて、
+上の 2 つの形式とこの形式とを区
+別します。次に例を示します。 
+.LP
+.RS 
+.ft 3
+.nf
+     @see "The Java Programming Language"
+.fi
+.ft 1
+.LP
+これは次のようなテキストを生成します。 
+.LP
+.ft 3
+.nf
+     関連項目:
+          "The Java Programming Language"
+.fi
+.ft 1
+.RE
+.TP
+\f3@see <a href="\f2URL#value\f3">\f2label\f3</a>\f1
+.IR URL#value 
+で定義されたとおりにリンクを追加します。
+.I URL#value 
+は、相対 URL または絶対 URL です。
+.B javadoc
+ツールは、最初の文字として、小なり括弧 (\f3<\f1) を探すことで、
+このリンクをその他の場合と区別します。 
+.LP
+.RS 
+.ft 3
+.nf
+     @see <a href="spec.html#section">Java Spec</a>
+.fi
+.ft 1
+.LP
+これは次のようなリンクを生成します。 
+.LP
+.ft 3
+.nf
+    関連項目:
+          Java Spec
+.fi
+.ft 1
+.RE
+.TP
+.BI @see  " package.class#member label"
+参照される Java 言語で指定された名前のドキュメントを指す、
+表示テキスト label を持つ
+リンクを追加します。label は省略可能です。label を省略した場合は、
+該当する名前が
+適切に短くされて (「名前の表示方法」を参照)、
+表示テキストとして代わりに表示されます。-noqualifier を使用すると、表示テキストからパッケージ名が全体的に削除されます。ラベルは、自動生成される表示テキストとは異なる表示テキストを指定する場合に使います。 
+.LP
+.RS
+バージョン 1.2 では、ラベルではなく、名前だけが
+HTML タグ
+.B <code>
+に囲まれて自動的に表示されます。バージョン 1.2.2 以降は、
+.B <code>
+は常に、ラベルが使用されているかどうかにかかわらず、
+表示可能なテキストを囲みます。
+.TP 2
+\(bu
+.I package.class#member 
+には、Java 言語で有効な任意の名前、つまりパッケージ、
+クラス、インタフェース、
+コンストラクタ、メソッド、またはフィールドの名前を指定します
+。ただし、メンバ名の前の
+ドットは、ハッシュ文字 (#) で置き換えます。
+指定した名前が、ドキュメント化されるクラス
+にある場合、
+.B javadoc 
+ツールは該当する名前へのリンクを自動的に作成します。
+外部参照クラスへのリンクを作成する
+には、
+.B \-link
+オプションを使います。参照されるクラスに属していない名前の
+ドキュメントを参
+照するには、ほかの 2 つの形式の 
+.B @see
+タグを使います。1 番目の引数については、「名前の指定」 で
+詳しく説明します。 
+.TP 2
+\(bu
+.I label 
+は省略可能なテキストで、
+リンクのラベルとして表示されます。label には空白を含
+めることができます。label を省略した場合は、
+.I package.class.member 
+が、現在のクラスおよびパッケージに応じて
+適切に短くされて表示されます。「名前の表示方法」を参照してください。 
+.TP 2
+\(bu
+空白文字は 
+.I package.class#member 
+と 
+.IR label 
+の間の区切り文字です。括弧内の空白文字は、
+ラベルの開始を意味しないため、
+メソッドのパラメータ間のデリミタとして使うことができます。 
+.LP
+例-この例では、Character クラスの 
+.B @see
+タグが String クラスの equals メソッドを参照しています。
+タグには、名前 \f3String#equals(Object)\f1 とラベル \f3equals\f1 の
+両方の引数が含まれています。 
+.LP
+.ft 3
+.nf
+      /**
+      * @see String#equals(Object) equals
+      */
+.fi
+.ft 1
+.LP
+標準ドックレットは、次のような HTML を生成します。 
+.LP
+.ft 3
+.nf
+    <dl>
+    <dt><b>関連項目:</b>
+    <dd><a href="../../java/lang/String#equals(java.lang.Object)"><code>equals</code></a>
+    </dl>
+.fi
+.ft 1
+.LP
+これは、ブラウザでは次のように表示され、
+ラベルがリンクテキストになります。 
+.LP
+.ft 3
+.nf
+     関連項目:
+          equals
+.fi
+.ft 1
+.LP
+.B 名前の指定:
+この
+.I package.class#member
+の名前は、
+.BR java.lang.String#toUpperCase() 
+のように完全指定することも、
+.B String#toUpperCase() 
+や 
+.BR #toUpperCase() 
+などのように完全指定しないことも可能です。
+完全指定しない場合、
+.B javadoc
+ツールは、通常の Java コンパイラの検索順序で検索を行います。
+詳細は、以下の「
+.BR @see
+の検索順序」を参照してください。指定する名前では、
+メソッドの複数の引数の型の間など、
+括弧内に空白を含めることができます。 
+.LP
+短い部分修飾名を指定することの利点は、入力する
+文字数が減ることと、ソースコードが
+読みやすくなることです。以下の表に示すのは、さまざまな
+形式の名前です。Class には
+クラスかインタフェース、Type にはクラス、インタフェース、
+配列、または基本データ型、
+method にはメソッドまたはコンストラクタを指定できます。 
+.LP
+.LP
+.TS
+box;
+lp-1.
+@see package.class#member の一般的な形式
+_
+現在のクラスのメンバを参照する
+@see #field
+@see #method(Type, Type,...)
+@see #method(Type argname, Type argname,...)
+@see #constructor(Type, Type,...)
+@see #constructor(Type argname, Type argname,...)
+_
+T{
+現在の、またはインポートされたパッケージの別のクラスを参照する
+T}	
+@see Class#field
+@see Class#method(Type, Type,...)
+@see Class#method(Type argname, Type argname,...)
+@see Class#constructor(Type, Type,...)
+T{
+@see Class#constructor(Type argname, Type argname,...)
+T}	
+@see Class.NestedClass
+@see Class
+_
+別のパッケージの要素を参照する (完全修飾)
+@see package.Class#field
+@see package.Class#method(Type, Type,...)
+@see package.Class#method(Type argname, Type argname,...)
+@see package.Class#constructor(Type, Type,...)
+T{
+@see package.Class#constructor(Type argname, Type argname,...)
+T}	
+@see package.Class.NestedClass
+@see package.Class
+@see package
+.TE
+.LP
+上の表に対する注を以下に示します。 
+.LP
+.TP 2
+\(bu
+クラスまたはパッケージを省いた最初の形式のセットでは、
+.B javadoc 
+ツールは現在のクラス階層だけで検索を行います。
+.B javadoc 
+ツールは、現在のクラスかインタフェースのメンバ、スーパークラスか
+スーパーインタフェースの 1 つ、または
+親クラスかインタフェースの 1 つ (検索手順 1 〜 3) を検索します。
+現在のパッケージのほかの部分やほかのパッケージ (検索手順 4 〜 5) は
+検索しません。 
+.TP 2
+\(bu
+メソッドまたはコンストラクタが、getValue のように
+括弧を付けずに名前として入力され、
+かつ同じ名前のフィールドがない場合は、
+.B javadoc
+ツールは正確にリンクを作成しますが、括弧と引数を追加するように
+促す警告メッセージを出力
+します。このメソッドをオーバーロードした場合、
+.B javadoc 
+ツールは、指定されたメソッドではなく、検索で見つかった
+最初のメソッドにリンクします。 
+.TP 2
+\(bu
+入れ子の内部クラスは、どの形式の場合でも、単に 
+.BR inner 
+という形ではなく、
+.BR outer.inner 
+という形で指定しなければなりません。 
+.TP 2
+\(bu
+すでに述べたとおり、クラスとメンバを区切るのに、ドット (\f3.\f1) ではなく
+ハッシュ文字 (\f3#\f1) が
+使われていることに注意してください。ドットは、クラス、
+入れ子のクラス、パッケージ、および
+サブパッケージを区切るのにも使われます。
+ただし、
+.B javadoc 
+ツールでは一般に許容範囲が広く、
+あいまいさがなければ、ドットでも正しく解析されます。
+その場合でも警告は表示されます。 
+
+.LP
+.B @see の検索順序:
+.B javadoc 
+は、ソースファイル (\f3.java\f1)、パッケージ
+ファイル (\f3package.html\f1 か \f3package\-info.java\f1)、または
+概要ファイル (\f3overview.html\f1) 内で使われる 
+.B @see
+タグを処理します。
+あとの 2 つのファイルでは、
+.BR @see
+を使って指定する名前を完全修飾する必要があります。
+ソースファイルでは、完全修飾名
+と部分修飾名のどちらを指定することもできます。 
+.LP
+.B javadoc
+ツールが、完全修飾されていない 
+.B .java
+ファイルで 
+.B @see
+タグを見つけた場合、指定された名前を Java コンパイラと
+同じ順序で検索します。ただし、
+.B javadoc
+ツールは、一部の名前空間のあいまいさは検出しません。これは、
+.B javadoc
+ツールが、ソースコードにこれらのエラーが存在していないことを
+前提として動作するためです。
+検索順序は、「Java Language Specification」第 2 版の第 6 章「Names」で
+正式に定義されています。具体的には、検索は次の順序で行われます。
+.LP
+.TP 4
+1. 
+現在のクラスまたはインタフェース 
+.PD 0
+.TP 4
+2. 
+名前を囲むクラスとインタフェース。もっとも近いものを最初に検索 
+.TP 4
+3. 
+スーパークラスとスーパーインタフェース。もっとも近いものを最初に検索 
+.TP 4
+4. 
+現在のパッケージ 
+.TP 4
+5. 
+インポートされるパッケージ、クラス、
+およびインタフェース。import 文の順序に従って検索 
+.PD
+.LP
+.B javadoc 
+ツールは、一致する名前が見つかるまで、各クラスについて
+手順 1 〜 3 を繰り返して検索を続け
+ます。つまり、現在のクラスとそのクラスを囲む
+クラス E を検索したあと、E のスーパクラスを
+検索し、最後に E を囲むクラスを検索します。手順 4 と 5 では、
+.B javadoc
+ツールは、1 つのパッケージ内でのクラスまたはインタフェースの検索を、
+なんらかの決まった順
+序で行うわけではありません (この検索順序はコンパイラに依存します)。
+手順 5 では、
+.B javadoc
+ツールは、
+.BR java.lang 
+を検索します。これは、
+.BR java.lang 
+がすべてのプログラムによって自動的にインポートされるためです。 
+.LP
+.B javadoc 
+ツールは、必ずしもサブクラスを検索するわけではなく、Javadoc ツールの
+実行中にほかのパッケージ
+のドキュメントが生成される場合でも、ほかのパッケージの
+検索は行いません。
+たとえば、
+.B @see
+タグが 
+.B java.awt.event.KeyEvent 
+クラスにあって、
+.B java.awt 
+パッケージにある名前を参照する場合、
+.B javadoc
+は、そのクラスがインポートしない限りそのパッケージを検索しません。 
+.LP
+.B 名前の表示方法:
+.I label 
+が省略された場合は、
+.I package.class.member 
+が表示されます。通常、package.class.member は、現在の
+クラスおよびパッケージに
+応じて適切に短くされます。「短くされる」とは、
+.B javadoc 
+ツールが必要最小限の名前を表示するということです。
+たとえば、String.toUpperCase() メソッドが同じ
+クラスのメンバへの参照と、別のクラスのメンバへの
+参照を含んでいる場合、クラス名は後者の場合だけ表示されます。
+.LP
+パッケージ名を広域的に削除するには、\-noqualifier を使用します。
+.br
+.LP
+.TP 4
+.TS
+box, center;
+cbp-1 | cbp-1 | cbp-1
+l | l | l .
+参照の種類	T{
+String.toUppercase() での例
+T}	表示
+_
+T{
+@see タグが同じクラス、同じパッケージのメンバを参照している
+T}	T{
+@see String#toLowerCase()
+T}	T{
+toLowerCase() (パッケージおよびクラス名は省略)
+T}
+_
+T{
+@see タグが異なるクラス、同じパッケージのメンバを参照している
+T}	T{
+@see Character#toLowerCase(char)
+T}	T{
+Character.toLowerCase(char) (パッケージ名は省略し、クラス名を含む)
+T}
+_
+T{
+@see タグが異なるクラス、異なるパッケージのメンバを参照している
+T}	T{
+@see java.io.File#exists()
+T}	T{
+java.io.File.exists() (パッケージ名とクラス名を含む)
+T}
+.TE
+.LP
+\f3@see の例\fP
+.br
+右側のコメントは、\f2@see\fP タグが別のパッケージ (\f2java.applet.Applet\fP など) のクラス内にある場合に、名前がどのように表示されるかを示しています。
+.nf
+\f3
+.fl
+                                           See also: 
+.fl
+@see java.lang.String                   //  String                          \fP\f3 
+.fl
+@see java.lang.String The String class  //  The String class                \fP\f3 
+.fl
+@see String                             //  String                          \fP\f3 
+.fl
+@see String#equals(Object)              //  String.equals(Object)           \fP\f3 
+.fl
+@see String#equals                      //  String.equals(java.lang.Object) \fP\f3  
+.fl
+@see java.lang.Object#wait(long)        //  java.lang.Object.wait(long)     \fP\f3 
+.fl
+@see Character#MAX_RADIX                //  Character.MAX_RADIX             \fP\f3 
+.fl
+@see <a href="spec.html">Java Spec</a>  //  Java Spec           \fP\f3 
+.fl
+@see "The Java Programming Language"    //  "The Java Programming Language"        \fP\f3 
+.fl
+\fP
+.fi
+.I @see
+を、ドキュメント化の対象にしていないクラスにまで拡張するには、
+.I -link 
+オプションを使用します。
+.LP
+詳細については、
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@see
+の
+.na
+\f2@see タグのドキュメント\fPを参照してください。
+.RE
+.TP 3
+.BI @serial  " field-description" | include | exclude
+デフォルトの直列化可能フィールドの doc コメントで使用します。 
+.RS 
+.LP
+省略可能な field-description は、
+フィールドの doc コメントを拡張します。
+この説明では、フィールドの意味および
+取り得る値のリストを指定しなければなりません。
+必要な場合には、複数の行にまたがって説明を記述することができます。 
+標準ドックレットは、この情報を、直列化された形式のページに追加します。
+.LP
+クラスを直列化したあとしばらくしてから直列化可能フィールドをクラスに追加した場合、主説明に、追加したバージョンを識別する文を追加する必要があります。
+.LP
+.BR include 
+と
+.BR exclude
+引数は、直列化された形式のページにクラスまたはパッケージを含めるべきか、
+あるいはこれらの引数を除くべきかを指定します。
+これらは、次のように動作します。
+.LP
+.TP 2
+\(bu 
+.BR Serializable
+を実装する public クラスまたは protected クラスは、
+そのクラス (またはそのパッケージ) が 
+.BR @serial 
+.BR exclude
+とマークされていない限り含められます。
+.TP 2
+\(bu 
+.BR Serializable
+を実装する private クラスまたは package\-private クラスは、
+そのクラス (またはそのパッケージ) が 
+.BR @serial 
+.BR include
+とマークされていない限り除かれます。
+.LP
+例: 
+.BR javax.swing
+パッケージは、(package.html または \f2package\-info.java\fP 内で) 
+.BR @serial 
+.BR exclude
+とマークされます。
+public クラスである
+.BR java.sercurity.BasicPermission
+は、
+.BR @serial 
+.BR exclude
+とマークされます。package\-private クラスである
+.BR java.util.PropertyPermissionCollection
+は、
+.BR @serial 
+.BR include
+とマークされます。
+.LP
+クラスレベルのタグ
+.BR @serial
+は、パッケージレベルの
+.BR @serial
+をオーバーライドします。
+.LP
+これらのタグの使用法についての詳細と使用例は、「Java オブジェクト直列化仕様」の第 1.6 節「クラスの直列化可能なフィールドおよびデータの文書化」を参照してください。また、
+.fi
+http://java.sun.com/products/jdk/serialization/faq/#javadoc_warn_missing
+の
+.na
+「\f2直列化の FAQ\fP」も参照してください。この FAQ には、「\-private スイッチを指定しないで javadoc を実行しているのに private フィールドの @serial タグが見つからないという javadoc の警告が表示される」などの一般的な質問への回答が記載されています。直列化形式仕様にクラスを含める場合には、
+.fi
+http://java.sun.com/j2se/javadoc/writingapispecs/serialized\-criteria.html
+の
+.na
+「\f2Sun の仕様\fP」も参照してください。
+.LP
+.RE
+.TP
+.BI @serialField  " field-name  field-type  field-description"
+Serializable クラスの serialPersistentFields メンバの ObjectStreamField コンポーネント
+をドキュメント化します。各 ObjectStreamField コンポーネントに対して
+.B @serialField 
+タグを 1 つ使う必要があります。
+.TP
+.BI @serialData  " data-description"
+.I data-description 
+は、直列化された形式でのデータの型と順序を
+説明するテキストです。 このデータには、
+特に、writeObject メソッドによって書き込まれる省略可能な
+データ、および Externalizable.writeExternal メソッドによって
+書き込まれるすべてのデータ (基底クラスを含む) が含まれます。 
+.TP
+.B @serialData
+タグは、writeObject、readObject、writeExternal、および readExternal の各メソッドの 
+doc コメントで使用できます。 
+.LP
+.TP 3
+@since\  since\-text 
+生成ドキュメントに「導入されたバージョン」見出しを追加し、指定された \f2since\-text\fP を書き込みます。このテキストには、特別な内部構造はありません。このタグは、すべてのドキュメンテーションコメント、つまり概要、パッケージ、クラス、インタフェース、コンストラクタ、メソッド、およびフィールドで有効です。このタグは、特定の変更または機能が、\f2since\-text\fP に示されたソフトウェアリリース以降、存在していることを意味します。次に例を示します。
+.nf
+\f3
+.fl
+    @since 1.5
+.fl
+\fP
+.fi
+Java プラットフォームのソースコードの場合、このタグは、Java プラットフォーム API 仕様のバージョンを示します。その変更や機能がリファレンス実装に追加された時期を示すとは限りません。複数の @since タグを使用でき、複数の @author タグのように扱われます。プログラム要素が複数の API で使用される場合、複数のタグを使用できます。
+.RE
+.TP
+.BI @throws  " class-name  description"
+.B @throws
+タグと 
+.B @exception
+タグは同義です。生成されるドキュメンテーションに、
+.I class-name 
+および 
+.I description 
+テキストを持つ [例外] 小見出しを追加します。
+.I class-name 
+は、該当するメソッドによって
+スローされる可能性のある例外の名前です。このタグは、doc コメントまたはコンストラクタでのみ有効です。このクラスが完全
+修飾されていない場合、
+.B javadoc
+ツールは検索順序に従ってクラスを探します。 
+同じまたは異なる例外の doc コメントで、
+複数の @throws タグを使用できます。
+.LP
+すべてのチェック済み例外がドキュメント化されるようにするために、
+@throws タグが throws 節内の例外用に存在しない場合は、
+@throws タグのあるドキュメントであるかのように、
+.B Javadoc 
+ツールによって例外が HTML 出力に説明なしで
+自動的に追加されます。
+.LP
+オーバーライドされたメソッドで明示的に例外が宣言されている場合に限って、
+オーバーライドされたメソッドからサブクラスへ
+@throws ドキュメントがコピーされます。
+インタフェースメソッドから実装メソッドにコピーされる場合も
+同様です。{@inheritDoc} を使用して、継承ドキュメントに対して
+強制的に @throws を適用することも可能です。
+.LP
+詳細は
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@exception
+の
+.na
+\f2@throws タグのドキュメント\fPを参照してください。
+.TP
+.B {@value package.class#field}
+{@value} が静的フィールドの doc コメントで
+引数なしで使用されている場合、その定数の値が表示されます。
+.LP
+.RS 5
+.nf
+/**
+* The value of this constant is {@value}.
+*/
+public static final String SCRIPT_START = "<script>"
+.fi
+.RE
+.LP
+任意の doc コメント内で引数
+.B package.class#field
+ ありで使用されている場合は、指定した定数の値が表示されます。
+.LP
+.RS 5
+.nf
+/**
+* Evaluates the script starting with {@value #SCRIPT_START}.
+*/
+public String evalScript(String script) {
+}
+.fi
+.RE
+.LP
+引数 package.class#field は、@see 引数と同一の形式になります。
+ただし、メンバが静的フィールドになければならない点が異なります。
+.LP
+これらの定数での値は、「定数フィールド値」ページにも表示されます。
+.TP
+.BI @version  " version-text"
+\-version オプションが使われている場合、生成ドキュメントに「バージョン」小見出しを追加して、指定された \f2version\-text\fP を書き込みます。このタグは、このコードが含まれるソフトウェアの現在のバージョン番号を保持するように意図されています。これに対し、@since は、このコードが導入されたバージョン番号を保持します。\f2version\-text\fP には、特別な内部構造はありません。バージョンタグを使用できる場所を調べるには、「タグを使用できる場所」を参照してください。
+.LP
+1 つのドキュメンテーションコメントに複数の \f2@version\fP タグを含めることができます。必要に応じて、\f2@version\fP タグごとに 1 つのバージョン番号を指定することも、タグごとに複数のバージョン番号を指定することもできます。前者の場合は、Javadoc ツールによって、名前と名前の間にコンマ (\f2,\fP) とスペースが挿入されます。後者の場合は、テキスト全体が、解析されることなく、生成ドキュメントにそのままコピーされます。したがって、コンマではなく、各言語に対応した名前区切り文字を使う必要がある場合は、1 つのタグに複数の名前を指定できます。
+.LP
+詳細については、
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#@version
+の
+.na
+\f2@version タグのドキュメント\fPを参照してください。
+.SS "タグを使用できる場所"
+以下では、タグを使用できる場所について説明します。@see、@since、@deprecated、{@link}、{@linkplain} および {@docroot} のタグは、すべての doc コメントで使用できます。 
+.SS "概要ドキュメントタグ"
+概要タグは、概要ページのドキュメント
+コメント (通常は \f3overview.html\f1 
+という名前のソースファイル内にある) で使用できるタグです。
+ほかのドキュメント
+コメントと同様に、これらのタグは、説明のあとで使う必要があります。 
+.LP
+注:バージョン 1.2 では、概要ドキュメント内の {\f3@link\f1} タグに
+バグがあります。テキストは適切に表示されますが、
+リンクが設定されません。 
+現在のところ、{\f2@docRoot\f1} タグは、
+概要ドキュメント内では動作しません。 
+.LP
+.LP
+.TS
+;
+cbp-1
+l .
+概要タグ
+@see
+@since
+@author
+@version
+{@link}
+{@linkplain}
+{@docRoot}
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-20
+
+.LP
+.SS "パッケージドキュメントタグ"
+パッケージタグは、パッケージのドキュメント
+コメント (\f3package.html\f1 または \f2package\-info.java\fP という
+名前のソースファイルに存在) で使用できるタグです。 
+ここで使用できる @serial タグは、include または 
+exclude 引数を指定したものだけです。 
+.LP
+.LP
+.TS
+;
+cbp-1
+l .
+パッケージタグ
+@see
+@since
+@serial
+@author
+@version
+{@link}
+{@linkplain}
+{@docRoot}
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-22
+
+.LP
+.SS "クラスおよびインタフェースドキュメントタグ"
+次に示すのは、クラスまたはインタフェースのドキュメント
+コメントで使用できるタグです。 
+ここで使用できる @serial タグは、
+include または exclude 引数を指定したものだけです。 
+.LP
+.LP
+.TS
+;
+cbp-1
+l .
+クラスおよびインタフェースタグ
+@see
+@since
+@deprecated
+@serial
+@author
+@version
+{@link}
+{@linkplain}
+{@docRoot}
+.TE
+
+.LP
+次は、クラスコメントの例です。
+.LP
+.RS
+.ft 3
+.nf
+/**
+* A class representing a window on the screen.
+* For example:
+* <pre>
+*    Window win = new Window(parent);
+*    win.show();
+* </pre>
+*
+* @author  Sami Shaio
+* @version 1.13, 06/08/06
+* @see     java.awt.BaseWindow
+* @see     java.awt.Button
+*/
+class Window extends BaseWindow {
+...
+}
+.fi
+.ft 1
+.RE
+.SS "フィールドドキュメントタグ"
+次に示すのは、フィールドのドキュメンテーションコメントで
+使用できるタグです。 
+.LP
+.LP
+.TS
+;
+cbp-1
+l .
+フィールドタグ
+@see
+@since
+@deprecated
+@serial
+@serialField
+{@link}
+{@linkplain}
+{@docRoot}
+{@value}
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-24
+
+.LP
+次は、フィールドコメントの例です。
+.LP
+.RS
+.ft 3
+.nf
+/**
+* The X-coordinate of the component.
+*
+* @see #getLocation()
+*/
+int x = 1263732;
+.fi
+.ft 1
+.RE
+.SS "コンストラクタおよびメソッドドキュメントタグ"
+次に、コンストラクタまたはメソッドのドキュメンテーションコメント内で表示できるタグを示します。ただし、@return はコンストラクタでは表示できず、{@inheritDoc} は
+表示に制限があります。@serialData タグは特定の直列化メソッドの doc コメントでのみ使用できます。
+.LP
+.LP
+.TS
+;
+cbp-1
+l .
+メソッドおよびコンストラクタタグ
+@see
+@since
+@deprecated
+@param
+@return
+@throws and @exception
+@serialData
+{@link}
+{@linkplain}
+{@inheritDoc}
+{@docRoot}
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-28
+
+.LP
+次はメソッドの doc コメントの例です。
+.LP
+.RS
+.ft 3
+.nf
+/**
+* Returns the character at the specified index. An index
+* ranges from <code>0</code> to <code>length() - 1</code>.
+*
+* @param     index  the index of the desired character.
+* @return    the desired character.
+* @exception StringIndexOutOfRangeException
+*              if the index is not in the range <code>0</code>
+*              to <code>length()-1</code>.
+* @see       java.lang.Character#charValue()
+*/
+public char charAt(int index) {
+...
+}
+.fi
+.ft 1
+.RE
+.SH "オプション"
+.B javadoc
+ツールは、ドックレットを使って出力を決定します。
+.B javadoc
+ツールは、
+.B \-doclet
+オプションでカスタムドックレットが指定されている場合以外は、
+デフォルトの標準ドック
+レットを使います。
+.B javadoc 
+ツールには、任意のドックレットとともに使用できるコマンド行
+オプションがあります。これらのオプ
+ションについては、後述の「javadoc のオプション」で説明します。
+標準ドックレットでは、こ
+のほかに、いくつかの追加のコマンド行オプションが提供されます。
+これらのオプションに
+ついては、後述の「標準ドックレットが提供するオプション」で
+説明します。どのオプション
+名も大文字と小文字を区別しません。ただし、オプションの引数では
+大文字と小文字が区
+別されることがあります。 
+.LP
+オプションを以下に示します。 
+.LP
+.RS 3
+
+.LP
+.LP
+.TS
+center;
+li l li
+l li li
+li l li
+l li li
+li l l
+l l li
+li l li
+l l l
+l li l
+l l li
+li l l
+li l l
+l l l
+li l l
+li l l
+l l li
+li l l
+l l l
+l l l
+l li l
+l li l.
+-1.1	-header	-private
+-author	-help	-protected
+-bootclasspath	-helpfile	-public
+-bottom	-J	-quiet
+-breakiterator	-keywords	-serialwarn
+-charset	-link	-source
+-classpath	-linkoffline	-sourcepath
+-d	-linksource	-splitindex
+-docencoding	-locale	-stylesheetfile
+-docfilessubdirs	-nocomment	-subpackages
+-doclet	-nodeprecated	-tag
+-docletpath	-nodeprecatedlist	-taglet
+-doctitle	-nohelp	-tagletpath
+-encoding	-noindex	-title
+-exclude	-nonavbar	-use
+-excludedocfilessubdir	-noqualifier	-verbose
+-extdirs	-nosince	-version
+-footer	-notimestamp	-windowtitle
+-group	-notree	
+	-overview	
+	-package	
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-123
+
+.LP
+.RE
+.LP
+\f2下線付き\fPで示されたオプションは、Javadoc の基本オプションであり、Javadoc ツールのフロントエンドによって提供され、すべてのドックレットで使用できます。標準ドックレット自体は、下線付きでないオプションを提供します。
+.LP
+.SS "Javadoc のオプション"
+.TP
+.BI \-overview  " path/filename"
+.B javadoc 
+に対して、
+.I path/filename 
+で指定された「ソース」ファイルから
+概要ドキュメント用のテキスト
+を取得し、概要ページ (\f3overview-summary.html\f1) に配置することを
+指示します。
+.I path/filename 
+は、
+.BR \-sourcepath
+への相対パスです。 
+.LP
+.RS 
+.I filename 
+と 
+.IR path 
+には、それぞれ任意の名前と場所を指定できますが、通常は、
+.B overview.html
+という名前を付けて、ソースツリー内の最上位の
+パッケージディレクトリを含むディレクトリ
+に配置します。この場所では、
+.B \-sourcepath
+がこのファイルを指すので、パッケージを
+ドキュメント化する際に path が必要ありません。
+たとえば、java.lang パッケージのソースツリーが 
+.BR /src/classes/java/lang/
+の場合、概要ファイルを
+.BR /src/classes/overview.html
+に配置できます。「使用例」を参照してください。 
+.LP
+.IR path/filename 
+で指定するファイルについては、
+「概要コメントファイル」を参照してください。 
+.LP
+概要ページが作成されるのは、
+.B javadoc 
+に 2 つ以上のパッケージ名を渡した場合だけです。
+詳細は、「HTML フレーム」
+節を参照してください。
+.LP
+概要ページのタイトルは、
+.B \-doctitle 
+によって設定されます。 
+.RE
+.TP
+.B \-public
+public なクラスとメンバだけを表示します。 
+.TP
+.B \-protected
+protected および public なクラスとメンバだけを表示します。
+これはデフォルトの動作です。 
+.TP
+.B \-package
+パッケージ、および protected と public な
+クラスとメンバだけを表示します。 
+.TP
+.B \-private
+すべてのクラスとメンバを表示します。 
+.TP
+.B \-help
+オンラインヘルプを表示します。
+.B javadoc 
+とドックレットのコマンド行オプションの一覧が表示されます。 
+.TP
+.BI \-doclet  " class"
+ドキュメントの生成に使う
+ドックレットを起動するためのクラスファイルを指定します。
+完全指定の名前を指定してください。
+ドックレットでは、出力の内容と形式を定義します。
+.B \-doclet 
+オプションが使われていない場合、
+.B javadoc 
+は標準ドックレットを使ってデフォルトの HTML 形式を生成します。
+このクラスには、
+start(Root) メソッドが含まれていなければなりません。
+この起動クラスへのパスは、
+.B \-docletpath
+オプションによって定義されます。 
+.LP
+たとえば、MIF ドックレットを呼び出すには、次のように指定します。 
+.LP
+.RS
+.ft 3
+.nf
+    -doclet com.sun.tools.doclets.mif.MIFDoclet
+.fi
+.ft 1
+.LP
+特定のドックレットを実行した完全な例については、
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet
+の
+.na
+「\f2Running the MIF Doclet\fP」を参照してください。
+.RE
+.TP
+.BI \-docletpath  " classpathlist"
+.B \-doclet 
+オプションで指定されているドックレットクラスファイル、
+およびそれに依存する jar ファイルへのパスを指定します。 
+起動クラスファイルが jar ファイル内にある場合、
+例に従って、その jar ファイルへのパスを指定します。 
+絶対パス、または現在のディレクトリからの相対パスを指定できます。 
+.IR classpathlist 
+には、複数のパスまたは jar ファイルを含める
+ことができます。その場合、各パスまたは jar ファイルを Solaris ではコロン (\f3:\f1)で、Windows ではセミコロン (;) で区切ります。 
+目的のドックレットの開始クラスがすでに検索パス内にある場合は、
+このオプションは不要です。 
+.LP
+次の例の jar ファイルへのパスには、ドックレットの
+開始クラスファイルが含まれています。 
+jar ファイル名が含まれている点に注意してください。 
+.nf
+\f3
+.fl
+   \-docletpath /home/user/mifdoclet/lib/mifdoclet.jar
+.fl
+\fP
+.fi
+次はドックレットの開始クラスファイルのパスの例です。
+クラスファイル名が省略されていることに注意してください。 
+.nf
+\f3
+.fl
+   \-docletpath /home/user/mifdoclet/classes/com/sun/tools/doclets/mif/
+.fl
+\fP
+.fi
+特定のドックレットを実行した完全な例については、
+.fi
+http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet
+の
+.na
+「\f2Running the MIF Doclet\fP」を参照してください。
+.RE
+.LP
+.TP
+.B \-1.1
+この機能は、javadoc 1.4 から削除されました。代替の機能は
+存在しません。このオプションは、javadoc 1.1 で生成される
+ドキュメントの外観と機能 (サポートされなくなった、入れ子になったクラスを
+含む) を備えたドキュメントを作成するためのものでした。
+このオプションが必要であれば、代わ
+りに javadoc 1.2 または 1.3 を使用してください。
+.TP 3
+\-source release 
+受け付けるソースコードのバージョンを指定します。\f2release\fP には次の値を指定できます。
+.LP
+.TS
+;
+l l.
+1.5	T{
+Javadoc は、JDK 1.5 で導入された総称機能および他の言語機能を含んだコードを受け付けます。-source フラグを指定しないと、コンパイラはデフォルトとして 1.5 の動作をします。
+T}	
+1.4	T{
+Javadoc は、JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
+T}	
+1.3	T{
+Javadoc は、JDK 1.3 以降に導入されたアサーション、総称機能、または他の言語機能をサポートしません。
+T}	
+.TE
+.if \n-(b.=0 .nr c. \n(.c-\n(d.-14
+.LP
+javac でコードをコンパイルするときに使用した値に対応する \f2release\fP の値を使用します。
+.LP
+.TP
+.BI \-sourcepath  " sourcepathlist"
+.B javadoc 
+コマンドにパッケージ名または \-subpackages 
+を渡す際に、
+ソースファイル (.java) 検索用のパスを指定します。
+.BI sourcepathlist 
+には、コロン (\f3:\f1) 
+で区切った複数のパスを含めることができます。 
+.B Javadoc 
+ツールは、指定されたパス以下のすべての
+サブディレクトリを検索します。 このオプションを使って、
+ドキュメント化されるソースファイルの位置だけでなく、
+それ自体はドキュメント化されていないが、ドキュメント化
+されているソースファイルから継承されたコメントをもつ
+ソースファイルの位置も確認できます。 
+.LP
+.B \-sourcepath
+オプションは、
+.B javadoc
+コマンドを使ってパッケージ名を指定するときにだけ使用でき、
+.B javadoc
+コマンドに渡される 
+.B .java
+ファイルは検索できないことに注意してください。
+.B .java
+ファイルを検索するには、
+そのディレクトリに移動するか、
+各ファイルの前にそのパスを付けます (「1 つ以上
+のパッケージのドキュメント化」を参照)。
+.B \-sourcepath
+が省略された場合は、
+.B javadoc 
+はクラスパスを使ってソースファイルを検索します (
+.B \-classpath 
+を参照)。 したがって、
+.B \-sourcepath
+のデフォルトは
+.B \-classpath
+の値です。
+.B -classpath
+を省略してパッケージ名を 
+.BR javadoc 
+に渡した場合、
+.BR javadoc
+は、ソースファイルの現在のディレクトリ (およびサブディレクトリ) を
+検索します。
+.LP
+.RS
+.I sourcepathlist 
+では、ドキュメント化するパッケージ名の
+ソースツリーのルートディレクトリを
+設定します。たとえば、ソースファイルが次の
+場所にある 
+.B com.mypackage 
+という名前のパッケージをドキュメント化するとします。 
+.LP
+.RS
+.ft 3
+.nf
+/home/user/src/com/mypackage/*.java
+.fi
+.ft 1
+.RE
+.LP
+この場合、次のようにしてソースパスを 
+.BR /home/user/src
+、つまり 
+.BR com.mypackage
+を含むディレクトリに指定し、それからパッケージ名 
+.BR com.mypackage
+を指定します。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-sourcepath /home/user/src/ com.mypackage
+.fi
+.ft 1
+.RE
+.LP 
+これは、ソースパスの値とパッケージ名をつなげて、
+ドットをスラッシュ (/) に変えると、以下のパッケージのフルパス
+になることに注目すると覚えやすいでしょう。
+.LP
+.RS
+.ft 3
+.BR /home/user/src/com/mypackage
+.RE
+.LP
+2 つのソースパスを指定するには、次のようにします。
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-sourcepath /home/user/src/:/home/user2/src com.mypackage
+.fi
+.ft 1
+.RE
+.LP 
+.RE
+.TP
+.BI \-classpath  " classpathlist"
+.B javadoc
+が参照されるクラスの検索を行うパスを指定します。
+参照されるクラス (\f3.class\f1) とは、
+ドキュメント化されるクラスとそれらのクラスによって
+参照される任意のクラスのことです。
+.B javadoc
+は、指定されたパス以下のすべてのサブディレクトリで
+検索を行います。
+.I classpathlist
+には、パス間をコロン (\f3:\f1) で区切って複数のパスを
+含めることができます。
+.B javadoc 
+ツールは、指定されたパス以下の
+すべてのサブディレクトリを検索します。 
+.IR classpathlist 
+の指定
+については、クラスパスのドキュメントを参照してください。 
+.LP
+.RS
+.B \-sourcepath
+を省略した場合は、
+.B javadoc 
+ツールは、クラスファイル (下位互換用) とともに、
+.B \-classpath
+を使ってソースファイルを検索します。このため、
+異なるパス内のソースファイルおよびクラスファイルを検索する場合は、
+.B \-sourcepath
+と
+.BR \-classpath
+の両方を使います。 
+.LP
+たとえば、
+.BR com.mypackage 
+をドキュメント化したい場合に、パッケージのクラスがディレクトリ
+.BR /home/user/src/com/mypackage
+にあり、このパッケージが 
+.BR /home/user/lib
+内のライブラリを使う場合は、次のように指定します。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-classpath /home/user/lib \-sourcepath /home/user/src com.mypackage
+.fi
+.ft 1
+.RE
+.LP
+ほかのツールと同様に、
+.BR \-classpath 
+を指定しない場合は、CLASSPATH 環境変数が
+設定されていれば、
+.B javadoc 
+ツールはこの環境変数を使います。
+どちらも設定されていない場合
+は、
+.B javadoc 
+ツールは現在のディレクトリでクラスを検索します。 
+.LP
+.B javadoc 
+ツールが拡張機能クラスおよびブートストラップクラスと通信する際に、
+.B -classpath 
+を使ってユーザクラスを検索する方法についての
+詳細は、「クラスの検索方法」を
+参照してください。 
+.LP
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じであるとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
+.br
+.br
+たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未定義となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しなどの環境に対する問い合わせを行わない限り、展開されていないワイルドカードを Java プログラムが認識することはありません。  
+.LP
+.TP 3
+\-subpackages\ \ package1:package2:... 
+ソースファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。このオプションは、ソースコードに新しいサブパッケージを追加する際に便利です。新しいサブパッケージは自動的に組み込まれます。各 package 引数は、任意の最上位サブパッケージ (java など) または完全指定のパッケージ (javax.swing など) になります。ソースファイルを含める必要はありません。引数は、コロンで区切られます (すべてのオペレーティングシステム)。ワイルドカードは不要です (使用不可)。パッケージの検索場所を指定するには、\-sourcepath を使用します。このオプションは、「ソースファイルの処理」で説明したとおり、ソースツリーにあるがパッケージには属していないソースファイルを処理しないので役立ちます。
+.LP
+次に例を示します。
+.nf
+\f3
+.fl
+  % \fP\f3javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing\fP
+.fl
+.fi
+このコマンドは、「java」および「javax.swing」という名前のパッケージとこれらのサブパッケージ全部のドキュメントを生成します。
+.LP
+\f2\-exclude\fP とともに \f2\-subpackages\fP を使用すると、特定のパッケージを除外できます。
+.LP
+.TP 3
+\-exclude\ \ packagename1:packagename2:... 
+指定されたパッケージとそのサブパッケージを \f2\-subpackages\fP によって作成されたリストから無条件に除外します。過去の \f2\-subpackages\fP オプションの指定によって組み込まれたパッケージ、または将来組み込まれるパッケージも除外の対象となります。次に例を示します。
+.nf
+\f3
+.fl
+  % \fP\f3javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang\fP
+.fl
+.fi
+このうち、\f2java.io\fP、\f2java.util\fP、\f2java.math\fP は組み込まれますが、\f2java.net\fP と \f2java.lang\fP 以下のパッケージは除外されます。ただし、\f2java.lang\fP のサブパッケージである \f2java.lang.ref\fP は除外されます。
+.RE
+.TP
+.BI \-bootclasspath  " classpathlist"
+ブートクラスが存在するパスを指定します。
+ブートクラスとは、Java プラットフォームクラスのことです。
+.B bootclasspath 
+は、
+.B javadoc
+ツールがソースファイルとクラスファイルを探すときに
+使う検索パスの一部です。詳細は、
+「Javac と Javadoc がクラスを検索する方法」 を
+参照してください。
+.I classpathlist 
+内の複数の
+クラスパスリストは、コロン (:) で区切ります。 
+.TP
+.BI \-extdirs  " dirlist"
+拡張機能クラスが存在するディレクトリを指定します。
+拡張機能クラスは、Java 拡張機能
+機構を使うすべてのクラスです。拡張機能ディレクトリ (
+.B extdirs
+) は、
+.B javadoc
+ツールがソースファイルとクラスファイルを探すときに使う検索パスの一部です。
+詳細は、上の 
+.B \-classpath
+を参照してください。
+.I dirlist 
+内の複数のディレクトリは、
+コロン (:) で区切ります。 
+.TP
+.B \-verbose
+.B javadoc
+の実行中に詳細なメッセージを表示します。冗長オプションを
+指定しない場合は、ソースファイルのロード時、ドキュメントの
+生成時 (ソースファイルごとに 1 つのメッセージ)、およびソート時に
+メッセージが表示されます。冗長オプションを指定した場合は、
+各 java ソースファイルの解析に要したミリ秒数などの
+追加メッセージを表示します。 
+.TP
+.BI \-quiet
+エラーメッセージ以外、および警告メッセージ以外の
+メッセージを除外し、
+エラーメッセージおよび警告メッセージだけを
+表示して見つけやすくします。 
+また、バージョン文字列の表示も抑制します。 
+.LP
+.TP 3
+\-breakiterator\  
+英語言語というロケール固有のアルゴリズムではなく、\f2java.text.BreakIterator\fP の国際化された文境界を使用して、英文の最初の文の終わりを判断します (他のすべてのロケールはすでに \f2BreakIterator\fP を使用)。「\f2最初の文\fP」とは、パッケージ、クラス、またはメンバの主説明での最初の文のことです。この文は、パッケージ、クラス、またはメンバの要約にコピーされ、アルファベット順のインデックスにコピーされます。
+.LP
+JDK 1.2 以降、BreakIterator クラスは、英語を除くすべての言語の文の終わりを判断するために、すでに使用されています。したがって、1.2 以降では、\f2\-breakiterator\fP オプションは英文以外には効果がありません。英文には、次のような独自のデフォルトのアルゴリズムがあります。
+.RS 3
+.TP 2
+o
+英文のデフォルトの文区切りアルゴリズム \- 空白または HTML ブロックタグ (\f2<P>\fP など) が続くピリオドで停止する
+.TP 2
+o
+breakiterator 文区切りアルゴリズム \- 一般に、次の語が大文字で始まる場合、空白文字が続くピリオド、疑問符、または感嘆符で停止する。このアルゴリズムでは、ほとんどの省略表記が処理される (「The serial no. is valid」は処理されるが「Mr. Smith」は処理されない)。HTML タグや、数字または記号で始まる文では停止しない。HTML タグに埋め込まれている場合でも、「../filename」の最後のピリオドで停止する
+.RE
+.RS 3
+.LP
+.LP
+注: 1.5.0 からは、1.4.x に設けられていた breakiterator 警告メッセージを削除し、デフォルトの文区切りアルゴリズムを変更していません。つまり、\-breakiterator オプションは、1.5.0 ではデフォルトではなくなり、またデフォルトにするつもりもありません。これは、「次のメジャーリリース」(1.5.0) でデフォルトを変更するという、以前の目的とは逆になっています。つまり、ソースコードを変更せず、1.4.x での breakiterator 警告を除去していない場合でも、1.5.0 からは何もする必要がなく、警告は消滅しています。この逆戻りの理由は、breakiterator をデフォルトにするメリットよりも、デフォルトにするために必要となる、互換性のないソースの変更の方が負担が大きかったためです。これに費やした作業や混乱が無駄になり残念です。
+.LP
+.TP
+.BI \-locale  " language_country_variant"
+.B 重要: 
+\-locale オプションは、標準ドックレットやその他のドックレット
+によって提供されるオプションよりも前に (左側に) 
+指定する必要があります。そうでなければ、ナビゲーションバーは
+英語で表示されます。順序に依存するコマンド行オプションは、
+このオプションのみです。 
+.LP
+.RS
+.B javadoc 
+がドキュメントを生成するときに使うロケールを指定します。
+引数には、java.util.Locale のドキュメントで説明されている
+ロケールを指定します。
+たとえば、en_US (英語、米国)、en_US_WIN (Windows で使われる英語) などを
+指定します。 
+.LP
+ロケールを指定すると、
+.B javadoc 
+は指定されたロケールのリソースファイルを選択して
+メッセージ (ナビゲーションバー、リストと表の見出し、
+ヘルプファイルの目次、
+.BR stylesheet.css 
+のコメントなどの文字列) に
+使います。また、アルファベット順にソートされるリストのソート順、
+および最初の文の末尾を決定する文の区切り文字も、
+指定したロケールによって決まります。このオプションは、
+ドキュメント化されるクラスのソースファイル内で
+指定されている doc コメントテキストの
+ロケールを決定するものではありません。 
+.RE
+.TP
+.BI \-encoding  " name"
+ソースファイルのエンコーディング名 (EUCJIS/SJIS など) を指定します。
+このオプションが指定されていない場合は、プラットフォームの
+デフォルトコンバータが使われます。 
+.LP
+\-docencoding および \-charset も参照してください。
+.TP
+.BI \-J flag
+.BR javadoc
+を実行する実行システム java に flag を直接渡します。J と flag の間に
+空白を入れてはなりません。たとえば、生成される
+ドキュメントを処理するために、システムで 32M バイトを
+確保する必要がある場合は、Java の
+.B \-Xmx
+オプションを次のように呼び出します。\-Xms はオプションです。初期メモリのサイズのみを設定するため、必要な最小メモリを知っている場合に便利です。
+.LP
+.RS 
+.ft 3
+.nf
+% javadoc \-J\-Xmx32m \-J\-Xms32m com.mypackage
+.fi
+.ft 1
+.RE
+
+
+.LP
+使用している javadoc のバージョンを確認するには、
+次のように java の「-version」オプションを呼び出します。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc -J-version
+java version "1.2"
+Classic VM (build JDK-1.2-V, green threads, sunwjit)
+.fi
+.ft 1
+.RE
+.LP
+(標準ドックレットのバージョン番号は出力ストリームに表示されます。) 
+.SS "標準ドックレットが提供するオプション"
+.TP
+.BI \-d  " directory"
+生成された HTML ファイルを保存するディレクトリを
+指定します (d は「生成先 (destination)」の意味)。このオプションを
+省略すると、生成されたファイルは現在のディレクトリに保存されます。
+値 
+.I directory 
+には、絶対ディレクトリまたは現在の作業
+ディレクトリからの相対ディレクトリを指定できます。
+1.4 では、javadoc の実行時に
+自動的に生成先ディレクトリが作成されます。 
+.LP
+たとえば、
+次の例は、com.mypackage パッケージのドキュメントを生成し、
+結果を 
+.B /home/user/doc/ 
+ディレクトリに保存します。 
+.LP
+.RS 
+.ft 3
+.nf
+% javadoc \-d /home/user/doc com.mypackage
+.fi
+.ft 1
+.RE
+.TP
+.B \-use
+ドキュメント化されるクラスとパッケージごとに 1 つの [使用] ページを
+含めます。このページには、ドキュメント化されるクラスまたは
+パッケージの API を使っているパッケージ、クラス、メソッド、
+コンストラクタ、およびフィールドが記述されます。たとえば、クラス 
+C およびクラス C を使うものは、C のサブクラス、C として
+宣言されているフィールド、C を返すメソッド、および、型 C の
+パラメータを持つメソッドとコンストラクタがページに含ま
+れます。 
+.LP
+.RS 
+たとえば、String について、[使用] ページに何が表示されるかを
+見てみましょう。
+.B java.awt.Font 
+クラスの 
+.B getName() 
+メソッドは、String 型を返します。
+このため、
+.B getName() 
+は String を使うので、[使用] ページの String で
+このメソッドを見つけることができます。 
+.LP
+このページでは API の使用だけがドキュメント化され、実装はドキュメント化されません。
+あるメソッドが実装内に String を使っているが、引数として
+文字列をとったり、文字列を返したりしない
+場合は、String の「使用」とはみなされません。 
+.LP
+生成された [使用] ページにアクセスするには、目的のクラスまたは
+パッケージを表示して、ナビゲーションバーの [使用] リンクを
+クリックします。 
+.RE
+.TP
+.B \-version
+生成されるドキュメントに 
+.B @version
+テキストを含めます。このテキストは、デフォルトでは省略されます。
+使用している javadoc ツールのバージョンを確認するには、
+.B \-J\-version 
+オプションを使用します。 
+.TP
+.B \-author
+生成されるドキュメントに 
+.B @author
+テキストを含めます。 
+.TP
+.B \-splitindex
+索引ファイルをアルファベットごとに複数のファイルに分割し、
+文字ごとに 1 つのファイルと、アルファベット以外の文字で始まる
+索引エントリ用のファイルを 1 つ作成します。
+.TP
+.BI \-windowtitle  " title"
+HTML の
+.B <title>
+タグで使うタイトルを指定します。指定したタイトルは、
+ウィンドウタイトルと、該当するページに対して作成されたブラウザの
+ブックマーク (よくアクセスする場所) に表示されます。
+タイトルには HTML タグを含めないでください。タイトルに HTML タグが
+含まれていると、ブラウザによるタグの解釈が不適切になる
+可能性があります。
+.I title 
+の中で引用符を使う場合は、引用符を
+エスケープする必要があります。
+.B -windowtitle 
+が省略されている場合、
+.B javadoc 
+ツールはこのオプションの代わりに -doctitle の値を使います。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc -windowtitle "Java 2 Platform" com.mypackage
+.fi
+.ft 1
+.RE
+.TP
+.BI \-doctitle  " title"
+概要ファイルの最上部近くに配置するタイトルを指定します。
+タイトルは中央揃えされ、レベル 1 の見出しとして上部
+ナビゲーションバーのすぐ下に置かれます。
+.I title 
+には、HTML タグと
+空白を含めることができますが、これらを含める場合は全体を引用符で囲
+まなければなりません。
+.I title 
+の中で引用符を使う場合は、引用符をエスケープする必要があります。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc -doctitle "Java<sup><font size=\"-2\">TM</font></sup>" com.mypackage
+.fi
+.ft 1
+.RE
+.TP
+.BI \-title  " title"
+このオプションは、現在は存在しません。
+.B javadoc 
+1.2 のベータ版にだけ存在しました。このオプションは、
+ウィンドウタイトルではなくドキュメントタイトルを定義することを
+明確にするため、
+.BR \-doctitle
+に名前が変更されました。 
+.TP
+.BI \-header  " header"
+各出力ファイルの上部に配置するヘッダテキストを指定します。ヘッダは、
+上部ナビゲーションバーの右側に配置されます。
+.I header 
+には、HTML タグと
+空白を含めることができますが、これらを含める場合は全体を引用符で
+囲まなければなりません。header の中で引用符を使う場合は、引用符を
+エスケープする必要があります。 
+.nf
+\f3
+.fl
+  % \fP\f3javadoc \-header "<b>Java 2 Platform </b><br>v1.4" com.mypackage\fP
+.fl
+.fi
+.LP
+.TP
+.BI \-footer  " footer"
+各出力ファイルの下部に配置するフッタテキストを指定します。フッタは、
+下部ナビゲーションバーの右側に配置されます。
+.I footer 
+には、HTML タグと
+空白を含めることができますが、これらを含める場合は全体を引用符で
+囲まなければなりません。
+.I footer 
+の中で引用符を使う場合は、引用符をエスケープする必要があります。 
+.TP
+.BI \-bottom  " text"
+各出力ファイルの最下部に配置するテキストを指定します。
+このテキストは、下部ナビゲーションバーの下のページの最下部に
+配置されます。
+.I text 
+には、HTML タグと空白を含めることができますが、
+これらを含める場合は全体を引用符で囲まなければなりません。
+.I text 
+の中で引用符を使う場合は、引用符をエスケープする必要があります。 
+.TP
+.BI \-link  " extdocURL"
+.B javadoc 
+ツールにより生成された既存の
+外部参照クラスのドキュメンテーションへのリンクを作成します。 
+引数は 1 つです。 
+.TP
+\(bu
+.I extdocURL 
+は、javadoc によって生成され、リンク先として指定する
+外部ドキュメントがあるディレクトリの絶対 URL または相対 URL です。 あとで例を示します。 このディレクトリ内に package-list ファイルが存在して
+いなければなりません。存在しない場合は、\-linkoffline を使用します。 
+.B javadoc 
+ツールは package-list ファイルからパッケージ名を読み取り、それを
+.I extdocURL 
+のパッケージにリンクします。 javadoc ツールを実行すると、
+.I extdocURL 
+値は作成された <A HREF> リンクにそのままコピーされます。 したがって、
+.I extdocURL 
+はファイルではなく、
+.I extdocURL 
+の URL である必要があります。 
+.LP
+ドキュメントを任意の Web サイト上のドキュメントにリンクするには 
+.I extdocURL 
+の絶対リンクを、相対ロケーションだけを指定するには
+相対リンクを使用できます。相対リンクを使用する場合、生成先ディレクトリ (\-d で指定) からの相対パスを、
+リンク先パッケージがあるディレクトリに渡す必要があります。 
+.LP
+通常、絶対リンクを指定する場合は、http: リンクを使用します。
+ただし、Web サーバをもたないファイルシステムに
+リンクする場合は、file: リンクを使用できます。
+ただし、この方法は、生成されたドキュメントに
+アクセスしようとする
+すべてのユーザが同じファイルシステムを共有している
+場合以外は使用しないでください。 
+.LP
+すべての場合、すべてのオペレーティングシステムで、絶対 URL と相対 URL、「http:」ベースと「file:」ベースにかかわらず、スラッシュを区切り文字として使用します 
+.fi
+(http://www.ietf.org/rfc/rfc1738.txt
+の
+.na
+\f2URL Memo\fP で指定)。
+.RS 3
+.TP 3
+http: ベースの絶対リンク: 
+\f2\-link http://<host>/<directory>/<directory>/.../<name>\fP 
+.TP 3
+file: ベースの絶対リンク: 
+\f2\-link file://<host>/<directory>/<directory>/.../<name>\fP 
+.TP 3
+相対リンク: 
+\f2\-link <directory>/<directory>/.../<name>\fP 
+.RE
+.RE
+.LP
+javadoc 実行時に複数の \-link オプションを指定して、
+複数のドキュメントへのリンクを作成することもできます。 
+.LP
+\-linkoffline または \-link の選択 
+.LP
+\-link を使用する場合: 
+.TP 3
+\(bu
+外部 API ドキュメントへの相対パスを使用している 
+.TP 3
+\(bu
+外部 API ドキュメントへの絶対 URL を使用している (プログラムがその URL に接続し、読み取りを行うことが
+シェルによって許可されている場合) 
+.LP
+\-linkoffline を使用する場合: 
+.TP 3
+\(bu
+外部 API ドキュメントへの絶対 URL を使用している 
+(プログラムがその URL に接続し、読み取りを行うことが
+シェルによって許可されていない場合)。このような状況は、
+リンク先のドキュメントがファイアウォールの
+向こう側にある場合に発生します。 
+.LP
+外部ドキュメントへの絶対リンクの使用例 - 
+java.lang、java.io、および他の Java 2 プラットフォームパッケージ 
+(\f2http://java.sun.com/j2se/1.5.0/docs/api\fP) に
+リンクしたい場合があります。
+次のコマンドは、
+Java 2 プラットフォームパッケージへのリンクを持つ
+com.mypackage パッケージのドキュメントを生成します。
+生成されたドキュメントには、たとえばクラスツリー内の 
+Object クラスへのリンクが含まれています
+(\-sourcepath や \-d などの他のオプションは表示されません)。 
+.LP
+.RS
+.ft 3
+.nf
+% \fP\f3javadoc \-link http://java.sun.com/j2se/1.5.0/docs/api com.mypackage\fP
+.fi
+.ft 1
+.RE
+.LP
+外部 ドキュメントへの相対リンクの使用例 - 
+.B javadoc 
+ツールの異なる実行で生成されたドキュメントを持つ
+2 つのパッケージがあり、それらが別々の
+相対パスをもっているとします。 
+この例では、2 つのパッケージを 
+com.apipackage (API)、com.spipackage 
+(SPI - Service Provide Interface) とします。 ドキュメントの置き場所は docs/api/com/apipackage および 
+docs/spi/com/spipackage です。 
+API パッケージドキュメントはすでに生成され、ドキュメントが現在の
+ディレクトリ内にある場合、次のように実行することで、
+API ドキュメントにリンクした SPI パッケージをドキュメント化できます。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-d ./spi \-link ../api com.spipackage
+.fi
+.ft 1
+.RE
+.LP
+\-link 引数が生成先ディレクトリの相対パス (docs/spi) で
+あることに注意してください。 
+.LP
+詳細 - 
+\-link オプションを使うと、コードからは参照されていても、
+Javadoc の現在の実行ではドキュメント化されないクラスにリンク
+できるようになります。 リンクから有効なページに
+移動できるようにするには、それらの HTML ページが
+ある場所を調べ、その場所を 
+.I extdocURL 
+に指定する必要があります。 
+このオプションを使うと、たとえば、サードパーティのドキュメントから、
+http://java.sun.com にある java.* のドキュメントにリンクすることができます。 
+.LP
+今回の実行で 
+.B javadoc 
+によって生成されるドキュメント内の 
+API だけを対象にリンクを作成する場合は、
+\-link オプションを省略します。 \-link オプションが
+指定されていない場合、
+.B javadoc 
+ツールは、外部参照されたドキュメントへのリンクを
+作成しません。これは、そのドキュメントが
+存在するかどうか、あるいは存在していてもどこに
+存在しているのかを判別できないからです。 
+.LP
+このオプションは、生成ドキュメント内の複数の場所に
+リンクを作成できます。
+.LP
+また、このオプションを使うと、複数のパッケージ群の間にクロスリンクを作成することもできます。つまり、ある一式のパッケージに対して javadoc を実行したあと、別の一式のパッケージに対して javadoc を実行し、これら 2 つのパッケージ群の間にクロスリンクを作成できます。
+.LP
+\f3クラスの参照方法\fP - 外部参照クラスへのリンクを、テキストラベルだけではなく実際に表示するには、次の方法でクラスを参照する必要があります。メソッドの本体でクラスを参照するだけでは十分ではありません。\f2import\fP 文または宣言で参照する必要があります。次に、クラス \f2java.io.File\fP を参照する方法の例を示します。
+.RS 3
+.TP 2
+o
+すべての種類の \f2import\fP 文の場合: ワイルドカードによるインポート、名前による明示的なインポート、または \f2java.lang.*\fP に対する自動的なインポート。たとえば、次のようにすれば十分です。
+.br
+\f2import java.io.*;\fP
+.br
+1.3.x および 1.2.x では、名前による明示的なインポートだけです。ワイルドカードによるインポート文も、自動インポート \f2java.lang.*\fP も使用できません。
+.TP 2
+o
+宣言の場合:
+.br
+\f2void foo(File f) {}\fP
+.br
+この参照を使用し、メソッド、コンストラクタ、フィールド、クラス、またはインタフェースのリターンタイプまたはパラメータタイプに置くか、\f2implements\fP、\f2extends\fP、または \f2throws\fP 文に置きます。
+.RE
+.LP
+この結果、\f2\-link\fP オプションを使用しても、この制限のために誤って表示されない多くのリンクが多数発生する可能性があります。テキストはハイパーテキストリンクが付けられずに表示されます。これらのリンクが表示する警告から、このリンクを認識できます。クラスを正しく参照し、それによってリンクを追加するためのもっとも安全な方法は上で説明したとおり、当該のクラスをインポートすることです。
+.LP
+.B パッケージリスト: 
+.B \-link
+オプションでは、javadoc ツールによって生成された 
+.BR package-list 
+という名前のファイルが、このオプションで指定する URL に存在している
+必要があります。
+.BR package-list
+ファイルは、その場所でドキュメント化されているパッケージの
+名前のリストを含む単純なテキストファイルです。
+前の例では、
+.B javadoc
+ツールは、指定された URL にある 
+.BR package-list
+という名前のファイルを探し、パッケージ名を読み込んで、
+その URL にあるそれらのパッケージへのリンクを作成しました。
+.LP
+たとえば、Java プラットフォーム v5.0 API のパッケージリストは以下にあり、
+.na
+\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP
+.RE
+.LP
+次のような内容で始まっています。
+.LP
+.RS
+.ft 3
+.nf
+java.applet
+java.awt
+java.awt.color
+java.awt.datatransfer
+java.awt.dnd
+java.awt.event
+java.awt.font
+その他 ...
+.fi
+.ft 1
+.RE
+.LP
+.B \-link 
+オプションを指定せずに 
+.B javadoc 
+ツールを実行した場合、ドキュメントの生成時に外部参照
+クラスに属する名前を
+見つけると、
+.B javadoc
+はその名前をリンクを持たない形で出力します。一方、
+.B \-link
+オプションが指定されている場合、
+.B javadoc
+ツールは、指定された 
+.IR extdocURL 
+の場所にある 
+.B package-list
+ファイルから、該当する名前のパッケージを探します。パッケージ名が
+見つかった場合は、その
+.IR extdocURL
+を名前の前に付けます。
+.LP
+すべてのリンクが正しく機能するためには、外部参照の
+ドキュメントのすべてが、指定された URL に
+存在していなければなりません。
+.B javadoc 
+ツールは、
+.B package-list
+が存在するかどうかを調べるだけで、指定された URL に
+目的のページが存在するかどうかはチェックしません。 
+.LP
+.B 複数のリンク: 
+複数の 
+.B \-link 
+オプションを提供して、外部で生成されたドキュメントに任意数のリンクを設定できます。Javadoc 1.2 には、複数の 
+.B -link
+コマンドを提供できないというバグがあります。このバグは、
+1.2.2 で修正されました。
+.LP
+リンクする外部ドキュメントごとに別のリンクオプションを指定します。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-link extdocURL1 \-link extdocURL2 ... \-link extdocURLn com.mypackage
+.fi
+.ft 1
+.RE
+.LP
+.BR extdocURL1、
+.BR extdocURL2、... 
+.BR extdocURLn 
+は、それぞれ外部ドキュメントの
+ルートを指し、各ルートには、
+.BR package-list
+という名前のファイルが含まれています。 
+.LP
+クロスリンク - まだ生成されていない 2 つ以上のドキュメントを
+クロスリンクする場合は、「ブートストラッピング」が必要になることに
+注意してください。言い換えると、どのドキュメントの 
+.B package-list 
+も存在していない場合、最初のドキュメントに対して 
+.B javadoc
+ツールを実行した時点では、2 番目のドキュメントの
+.B package-list
+はまだ存在していません。したがって、外部リンクを作成するには、
+2 番目のドキュメントを
+生成したあと、最初のドキュメントを生成し直す必要があります。 
+.LP
+この場合、最初に行うドキュメント生成の目的は、
+.B package-list
+を作成することです。パッケージ名をすべて把握している場合は、
+.B package-list
+を手動で作成することもできます。次に、2 番目のドキュメントと
+その外部リンクを生成します。
+.B javadoc
+ツールは、必要な外部の
+.B package-list
+ファイルが存在しない場合は、警告を表示します。 
+.TP
+.BI \-linkoffline  " extdocURL  packagelistLoc"
+このオプションは、
+.BR \-link 
+オプションを変えたものです。どちらも、javadoc で
+生成された外部参照クラスのドキュメントへのリンクを作成します。 
+.B Javadoc 
+ツールが「オフライン」で、Web 上のドキュメントに
+リンクする場合は、Web 接続経由ではドキュメントに
+アクセスできないため、
+.B \-linkoffline 
+オプションを使用します。
+.LP
+厳密には、外部ドキュメントの \f2package\-list\fP ファイルにアクセスできないとき、またはこのファイルが \f2extdocURL\fP で指定された場所とは異なる場所 (通常、\f2packageListLoc\fP で指定可能なローカルな場所) に存在するとき、\f2\-linkoffline\fP を使用します。したがって、\f2extdocURL\fP に WWW 上でしかアクセスできない場合は、\f2\-linkoffline\fP を指定することにより、ドキュメントの生成時に javadoc ツールが Web に接続できなければならないという制約がなくなります。
+.LP
+さらに、ドキュメントを更新するための「ハッキング」としての使用も可能です。パッケージのセット全体に対して javadoc を実行したあと、変更した一部のパッケージだけに対して javadoc を実行します。こうして、更新されたファイルを、オリジナルのファイルセットに挿入できるようにします。例をあとで示します。
+.LP
+.BR \-linkoffline
+オプションには 2 つの引数があります。1 つは 
+<a href> リンクに埋め込む文字列、もう 1 つは
+.BR package-list:
+の検索場所を示します。
+.LP
+.RS 
+.TP 2
+\(bu
+.I extdocURL 
+は、\f3javadoc\f1 によって生成され、リンク先として指定する
+外部ドキュメントがあるディレクトリの絶対 
+URL または相対 URL です。 相対リンクの場合、
+生成先ディレクトリ (\-d で指定) からの相対パスを、
+リンク先パッケージのルートに渡す必要があります。 詳細は、
+.B \-link 
+オプションの 
+.I extdocURL 
+を参照してください。
+.TP 2
+\(bu
+.I packagelistLoc
+には、外部ドキュメントの 
+.B package-list 
+ファイルが入っているディレクトリのパスまたは 
+URL を指定します。 URL (http: または file:) 
+またはファイルパスを指定できます。
+また、絶対パスと相対パスのどちらでもかまいません。 
+相対パスの場合は、javadoc が実行される現在の
+ディレクトリからの相対パスとして指定します。 
+.BR package-list 
+というファイル名は含めないでください。
+.LP
+.B javadoc 
+の 1 回の実行で、複数の 
+.B \-linkoffline 
+オプションを指定できます。 
+1.2.2 より前のバージョンでは、複数のオプションは指定できませんでした。
+.LP
+外部ドキュメントへの絶対リンクを使った例 - 
+.BR java.lang
+、
+.BR java.io
+、およびその他の Java 2 プラットフォームパッケージ (\f2http://java.sun.com/j2se/1.5.0/docs/api\fP)
+にリンクしたくても、Web にアクセスできない
+場合について考えてみます。
+.BR package-list
+ファイルをブラウザで開き (\f2http://java.sun.com/j2se/1.5.0/docs/api/package\-list\fP)、
+ローカルディレクトリに保存します。
+次に、2 番目の引数
+.I packagelistLoc
+でそのローカルコピーを指定します。このとき
+パッケージリストファイルは現在のディレクトリ
+「.」に保存されています。 次のコマンドは、
+Java 2 プラットフォームパッケージへのリンクを含む、
+com.mypackage パッケージのドキュメントを生成します。
+生成されたドキュメントには、たとえばクラスツリー内の 
+Object クラスへのリンクが含まれています
+(\-sourcepath などの他の必要なオプションは表示されません)。
+.LP
+.RS
+.ft 3
+.nf
+% \fP\f3javadoc \-linkoffline http://java.sun.com/j2se/1.5.0/docs/api . com.mypackage\fP
+.fi
+.ft 1
+.RE
+.LP
+外部ドキュメントへの相対リンクを使った例 - 
+.B \-linkoffline 
+を相対パスで指定するのはあまり一般的ではありません。通常は、
+.B \-link  
+で十分だからです。
+.B \-linkoffline 
+を使用している場合、
+.BR package-list 
+ファイルは通常ローカルで、相対リンクを使用している場合は、
+リンク先のファイルもローカルであるのが普通です。 
+そのため、
+.B \-linkoffline 
+に 2 つの異なる引数のパスを
+与える必要はありません。 2 つの引数が同じである場合、
+.B \-link 
+を使用できます。 
+.B \-link 
+の相対リンクの使用例を参照してください。
+.LP
+package-list ファイルの手動作成 - 
+.BR package-list  
+ファイルがまだ存在しなくても、ドキュメントのリンク先のパッケージ名がわかっている場合は、このファイルのコピーを自分で作成し、
+.I packagelistLoc 
+でそのパスを指定することができます。 
+com.apipackage が最初に作成されたときに 
+com.spipackage のパッケージリストが存在しなかった、
+以前の場合がその例です。 
+この方法は、パッケージ名はわかっているものの、
+まだ公開されていない、新しい外部ドキュメントにリンクする
+ドキュメントを生成する場合に便利です。 
+また、Javadoc 1.0 または 1.1 では package-list ファイルが
+生成されないため、この方法で、これらのバージョンで
+生成されたパッケージの package-list ファイルを生成できます。 
+2 つの会社が未公開の package-list ファイルを
+共有することもできるため、クロスリンクを設定した
+ドキュメントを同時にリリースすることも可能です。
+.LP
+複数のドキュメントにリンク - 
+.B \-linkoffline 
+は、参照先の生成ドキュメントごとに 1 つずつ指定します。
+次の例では、わかりやすくするために
+オプションごとに行を分けています。 
+.LP
+.RS
+.ft 3
+.nf
+.ta 18n
+% javadoc        \-linkoffline docURL1 packagelistURL1 \\
+                 \-linkoffline docURL2 packagelistURL2 \\
+.ft 1
+        ...
+.fi
+.RE
+.LP
+.B ドキュメントの更新: 
+.B \-linkoffline 
+オプションのもう 1 つの用途は、プロジェクトで多数のパッケージを使い、
+すでにツリー全体に対して
+.B javadoc 
+を実行してある場合に、次の実行では、すばやく細かい
+変更を行なってから、ソース
+ツリーの一部に対してだけ
+.B javadoc
+を実行し直したい場合に便利です。これは、
+変更がドキュメンテーションコメントに対し
+てであり、シグニチャに対してではない場合にだけ正常に
+処理されるので、ハッキング
+のようなものです。ソースコードに対してシグニチャを追加、
+削除または変更した場合は、索引、パッケージツリー、
+継承されるメンバのリスト、[使用] ページなどの場所
+で壊れたリンクが表示されます。 
+.LP
+まず、新しい実行のため、新規の
+生成先ディレクトリ (update) を作成します。オリジナルの生成先ディレクトリを html とします。もっとも簡単な例として、html の親に移動します。 
+.B \-linkoffline  
+の 1 番目の引数に現在のディレクトリ「.」を
+設定し、2 番目の引数に package-list 
+を検索する場所である html への相対パスを設定します。更新したいパッケージのパッケージ名のみを渡します。
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-d update \-linkoffline . html com.mypackage
+.fi
+.ft 1
+.RE
+.LP
+.B javadoc 
+の実行が終了したとき、
+.B update/com/package
+内に生成されたクラス (概要や索引ではない) で、
+html/com/package 内にあるオリジナルのファイルを上書きコピーします。
+.TP
+\-linksource
+各ソースファイル (行番号付き) の HTML バージョンを作成し、標準 HTML ドキュメントからソースファイルへのリンクを追加します。リンクは、ソースファイル内に宣言されているクラス、インタフェース、コンストラクタ、メソッド、フィールドに対して作成されます。デフォルトコンストラクタ、生成されたクラスに対しては作成されません。
+.LP
+\f3このオプションは、\fP\f4\-public\fP\f3、\fP\f4\-package\fP\f3、\fP\f4\-protected\fP\f3、\fP\f4\-private\fP\f3 の各オプションとは関係なく、非公開のクラス、フィールド、非公開のメソッドの本体をはじめとする組み込まれたソースファイル内の\fP\f4すべての\fP\f3非公開実装の詳細を公開します。\fP\f2\-private\fP オプションを指定しないかぎり、非公開のクラスやインタフェースの一部には、リンクを介してアクセスできないことがあります。
+.LP
+各リンクは、その宣言内の識別子名の上に作成されます。たとえば、\f2Button\fP クラスのソースコードヘのリンクは、「Button」という語の上に作成されます。
+.nf
+\f3
+.fl
+    public class Button
+.fl
+    extends Component
+.fl
+    implements Accessible
+.fl
+\fP
+.fi
+Button クラスの \f2getLabel()\fP メソッドのソースコードへのリンクは、「getLabel」という語の上に作成されます。
+.nf
+\f3
+.fl
+    public String getLabel()
+.fl
+\fP
+.fi
+.LP
+.TP
+.BI \-group  " groupheading  packagepattern:packagepattern:..."
+概要ページの複数のパッケージを指定のグループに分け、
+グループ単位で表を作成
+します。各グループは、それぞれ別の
+.B \-group
+オプションで指定します。これらのグループは、
+コマンド行で指定した順序でページに
+表示されます。パッケージは、1 つのグループ内では
+アルファベット順に並べられます。各 
+.B \-group
+オプションでは、
+.I packagepattern 
+式のリストに一致する
+パッケージが、見出し 
+.IR groupheading 
+を持つ 1 つの表にまとめて表示されます。 
+.RS 
+.TP 2
+\(bu
+.I groupheading 
+には任意のテキストを指定でき、空白を含めることができます。
+指定したテキストは、グループの表見出しになります。 
+.TP 2
+\(bu
+.I packagepattern 
+には、任意のパッケージ名、または任意のパッケージ名の先頭部分とそれに続く 1 つのアスタリスク (*)を指定できます。
+アスタリスクは、「任意の文字に一致する」という意味のワイルドカードです。ワイルドカードとして許容されるのは、アスタリスクだけです。1 つのグループには、
+コロン (:) で区切った複数のパターンを含めることができます。 
+.LP
+注: パターンやパターンリスト内でアスタリスクを
+使う場合は、"java.lang*:java.util" 
+のように、パターンリストを引用符で囲む必要があります。 
+.LP
+.B \-group 
+オプションが 1 つも指定されていない場合は、すべての
+パッケージが、[パッケージ] 
+という見出しを持つ 1 つのグループに入れられます。
+ドキュメント化されるパッケージの
+中に、指定したグループのどのグループにも入らない
+パッケージがある場合、このような
+パッケージは [その他のパッケージ] という見出しを
+持つ独立したグループに入れられます。 
+.LP
+たとえば、次のようにオプションを指定すると、
+ドキュメント化される 4 つのパッケージは、
+コアパッケージ、拡張機能パッケージ、
+およびその他のパッケージに分かれます。
+\f3java.lang*\f1 では、後続のドットがないことに
+注意してください。\f3java.lang.*\f1 のようにドットを
+入れると、
+.B java.lang 
+パッケージは含まれないことになります。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-group "Core Packages" "java.lang*:java.util" 
+          \-group "Extension Packages" "javax.*" 
+          java.lang java.lang.reflect java.util javax.servlet java.new
+.fi
+.ft 1
+.RE
+.LP
+この結果、次のようなグループ化が行われます。 
+.LP
+.RS
+.ft 3
+.nf
+Core Packages
+  java.lang
+  java.lang.reflect
+  java.util
+Extension Packages
+  javax.servlet
+Other Packages
+  java.new
+.fi
+.ft 1
+.RE
+.RE
+.TP
+.B \-nodeprecated
+推奨されない API をドキュメントに生成することを禁止します。
+これは、
+.B \-nodeprecatedlist
+オプションを指定した場合の動作に加えて、
+ドキュメントのほかの部分を通じて、
+推奨されない API を生成しないことと同じです。
+このオプションは、コードを記述していて、
+推奨されないコードを無視したい場合に便利です。 
+.TP
+.B \-nodeprecatedlist
+推奨されない API のリストを含む
+ファイル (\f3deprecated-list.html\f1) の生成を禁止
+します。また、このページへのリンクを
+ナビゲーションバーに生成することを禁止します。
+ただし、ドキュメントのほかの部分では、
+推奨されない API の生成を続行します。この
+オプションは、推奨されない API がソースコードに
+含まれておらず、ナビゲーションバーを
+すっきりと見せたい場合に便利です。 
+.TP
+.B \-nosince
+生成されるドキュメントから、
+.BR @since 
+タグに関連した「Since」セクションを削除します。
+.TP
+.B \-notree
+生成されるドキュメントからクラスおよびインタフェース
+階層を省略します。これらのページには、ナビゲーションバーの「ツリー」ボタンからアクセスできます。
+デフォルトでは、階層が作成されます。 
+.TP
+.B \-noindex
+生成されるドキュメントから索引を省略します。
+デフォルトでは、
+索引が作成されます。 
+.TP
+.B \-nohelp
+各出力ページの最上部と最下部の
+ナビゲーションバーから [ヘルプ] リンクを
+省略します。 
+.TP
+.B \-nonavbar
+生成されるページの最上部と最下部に表示される
+ナビゲーションバー、ヘッダ、
+およびフッタの生成を禁止します。
+このオプションは、bottom オプションには影響しません。
+.B \-nonavbar
+オプションは、印刷するためだけに
+ファイルを PostScript または PDF に変換する
+場合など、内容だけが重要でナビゲーションの
+必要性がない場合に便利です。 
+.TP
+.BI \-helpfile  " path/filename"
+上部と下部のナビゲーションバーの [ヘルプ] リンクの
+リンク先となる代替ヘルプファイル
+.I path/filename 
+のパスを指定します。このオプションが指定されていない場合、
+.B javadoc
+は、javadoc にハードコードされているヘルプファイル 
+.B help-doc.html
+を自動的に作成します。このオプションを使えば、
+デフォルトの設定をオーバーライドでき
+ます。ファイル名にはどのような
+名前も指定でき、\f3help-doc.html\f1 には限定されま
+せん。
+.B javadoc
+は、それに従って、ナビゲーションバーにある
+リンクに調整を加えます。
+次に例を示します。 
+.LP
+.RS 
+.RS
+.ft 3
+.nf
+% javadoc \-helpfile /home/doc/myhelp.html java.awt
+.fi
+.RE
+.RE
+.ft 1
+.TP
+.BI \-stylesheetfile  " path/filename"
+代替 HTML スタイルシートファイルのパスを指定します。
+このオプションが指定されてい
+ない場合、
+.B javadoc
+ツールは、内部的にハードコードされている
+スタイルシートファイル 
+.BR stylesheet.css 
+を自動的に作成します。このオプションを使えば、
+デフォルトの設定をオーバーライドできます。
+filename にはどんなファイル名でも指定でき、
+.BR stylesheet.css 
+には限定されません。
+次に例を示します。 
+.LP
+.RS
+.RS
+.ft 3
+.nf
+% javadoc \-stylesheetfile /home/user/mystylesheet.css com.mypackage
+.fi
+.ft 1
+.RE
+.RE
+.TP
+.B \-serialwarn
+.B @serial
+タグがない場合、コンパイル時に警告を生成します。デフォルトでは、
+.B javadoc
+1.2.2 (およびそれ以降) は 
+.B @serial 
+の警告を生成しません。
+(これは、以前のバージョンとは逆です。) 
+.B @serial 
+の警告を生成するには、
+このオプションを使用してください。このオプションは、デフォルトの
+直列化可能なフィールドと writeExternal メソッドを正しく
+ドキュメント化するのに役立ちます。
+.TP
+.BI \-charset  " name"
+このドキュメント用の HTML 文字セットを指定します。この名前は、
+.na
+\f2IANA Registry\fP
+.fi
+(http://www.iana.org/assignments/character\-sets) で与えられた、推奨される MIME 名でなければなりません。次に例を示します。
+.nf
+\f3
+.fl
+  % \fP\f3javadoc \-charset "iso\-8859\-1" mypackage\fP
+.fl
+.fi
+生成されるすべてのページの先頭に、次の行が挿入されます。
+.nf
+\f3
+.fl
+   <META http\-equiv="Content\-Type" content="text/html; charset=ISO\-8859\-1">
+.fl
+\fP
+.fi
+この META タグについては、
+.fi
+http://www.w3.org/TR/REC\-html40/charset.html#h\-5.2.2
+の
+.na
+\f2HTML の標準\fP (4197265 および 4137321) を参照してください。
+.LP
+\-encoding と \-docencoding も参照してください。
+.LP
+.TP 3
+\-docencoding\  name 
+生成される HTML ファイルのエンコーディングを指定します。この名前は、
+.na
+\f2IANA Registry\fP 
+.fi
+(http://www.iana.org/assignments/character\-sets) で与えられた、推奨される MIME 名でなければなりません。このオプションを省略しながら \-encoding を使用した場合、生成される HTML ファイルのエンコードは、\-encoding によって決められます。次に例を示します。
+.nf
+\f3
+.fl
+  % \fP\f3javadoc \-docencoding "ISO\-8859\-1" mypackage\fP
+.fl
+.fi
+\-encoding および \-charset も参照してください。
+.LP
+.TP 3
+\-keywords 
+HTML メタキーワードタグを、クラスごとに生成されるファイルに追加します。これらのタグは、メタタグを検索するサーチエンジンがページを見つける場合に役立ちます。インターネット全体を検索する多くのサーチエンジンは、ページがメタタグを誤用しているため、メタタグを調べません。一方、検索を自身の Web サイトに限定している企業では、サーチエンジンがメタタグを調べることによってメリットを得られます。
+.LP
+メタタグには、クラスの完全修飾名と、フィールドおよびメソッドの修飾されていない名前が含まれます。コンストラクタは、クラス名と同じであるため含まれません。たとえば、クラス String は次のキーワードで開始します。
+.nf
+\f3
+.fl
+     <META NAME="keywords" CONTENT="java.lang.String class">
+.fl
+     <META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER">
+.fl
+     <META NAME="keywords" CONTENT="length()">
+.fl
+     <META NAME="keywords" CONTENT="charAt()">
+.fl
+\fP
+.fi
+.LP
+.TP 3
+\-tag\ \ tagname:Xaoptcmf:"taghead" 
+Javadoc ツールがドキュメンテーションコメント内の引数を 1 つ取る単純なカスタムブロックタグ \f2@\fP\f2tagname\fP を解釈できるようにします。これにより、Javadoc ツールはタグ名の「スペルチェック」を行うことができるので、ソースコード内のすべてのカスタムタグに \f2\-tag\fP オプションを組み込むことをお勧めします。今回の実行で出力されないタグは、\f2X\fP を付けて無効にします。
+.LP
+コロン (\f4:\fP) は常に区切り文字になります。\f2tagname\fP でコロンを使用するには、「タグ名でのコロンの使用」を参照してください。
+.LP
+\f2\-tag\fP オプションは、タグの見出し「\f2taghead\fP」を太字で出力します。その次の行には、このオプションの引数で指定したテキストが続きます。以下の例を参照してください。ブロックタグと同様、この引数のテキストにはインラインタグを含めることができます。このインラインタグも解釈されます。出力は、引数を 1 つ取る標準のタグ (\f2@return\fP、\f2@author\fP など) の出力とよく似ています。\f2taghead\fP を省略すると、\f2tagname\fP が見出しとして表示されます。
+.LP
+\f3タグの配置\fP \- 引数の \f4Xaoptcmf\fP 部分は、ソースコード内のタグを配置できる位置と、\f2X\fP を使ってこのタグを無効にできるかどうかを特定します。タグの配置位置を制限しない場合は \f4a\fP を指定します。それ以外の文字の組み合わせも可能です。
+.br
+\f4X\fP (タグの無効化)
+.br
+\f4a\fP (すべての位置)
+.br
+\f4o\fP (概要)
+.br
+\f4p\fP (パッケージ)
+.br
+\f4t\fP (型すなわちクラスおよびインタフェース)
+.br
+\f4c\fP (コンストラクタ)
+.br
+\f4m\fP (メソッド)
+.br
+\f4f\fP (フィールド) 
+.LP
+シングルタグの例 -
+ソースコードの任意の場所で使用できる
+タグのタグオプションの例を示します。
+.LP
+.RS
+.TP 3
+\-tag todo:a:"To Do:"
+.RE
+.LP
+コンストラクタ、メソッド、およびフィールドだけで @todo を
+使用させるには、次のようにします。 
+.LP
+.RS
+.ft 3
+.nf
+\-tag todo:cmf:"To Do:"
+.fi
+.ft 1
+.RE
+.LP
+上記では、末尾のコロン (:) がパラメータの
+区切り記号ではなく、表示のとおり、
+見出しテキストの一部であることに注意してください。 
+次のように、@todo タグを含むソースコードに
+どちらかのタグオプションを使用します。 
+.LP
+.RS
+.ft 3
+.nf
+@todo The documentation for this method needs work.
+.fi
+.ft 1
+.LP
+タグ名にコロンを使用する \-
+コロン (:) をバックスラッシュでエスケープすると、
+コロンをタグ名に使用することができます。
+.LP
+.RS 5
+.nf
+/**
+* @ejb:bean
+*/
+.RE
+.fi
+.LP
+でこのタグオプションを使用すると、
+.LP
+.RS 5
+.nf
+\-tag ejb\\:bean:a:"EJB Bean:"
+.RE
+.LP
+となります。
+.fi
+.ft 1
+.RE
+.LP
+タグ名のスペルチェック (タグの無効化) - 開発者は、ソースコードの中で出力できないカスタムタグを使用することがあります。その場合、ソースタグに存在するすべてのタグをリストし、出力するタグを有効化し、出力しないタグを無効化することが重要です。 X を使用するとタグを無効化でき、これがない場合はタグが有効となります。 この文字の存在によって、
+.B Javadoc 
+ツールは、検出したタグが未知のタグで、おそらく綴り間違いであると判断できます。 この場合、警告メッセージが表示されます。 
+.LP
+すでに存在する、配置を指定する引数の値に X を追加した場合、タグを有効にしたいときに X を削除できます。 たとえば、@todo が出力したくないタグの場合、次のようにします。
+.LP
+.RS
+.ft 3
+.nf
+\-tag todo:Xcmf:"To Do:"
+.fi
+.ft 1
+.RE
+.LP
+または、次のようにより簡単にすることもできます。 
+.LP
+.RS
+.ft 3
+.nf
+\-tag todo:X
+.fi
+.ft 1
+.RE
+.LP
+\-tag todo:X の構文は、@todo がタグレットで
+定義されている場合も有効です。
+.LP
+タグの順序 -
+\-tag (および \-taglet) オプションの順序に従って
+タグが出力されます。 カスタムタグと標準タグを
+混在させることができます。 標準タグのタグオプションは、
+順序を決定するためだけのプレースホルダです。
+これらは標準タグ名だけを使用します 
+(標準タグの小見出しは変更できません)。 
+これを次の例に示します。
+.LP
+\-tag がない場合、\-taglet の場所によってその順序が決まります。 
+この 2 つが両方ある場合は、コマンド行の最後に使用された方が
+順序を決定します (これは、タグとタグレットが、
+コマンド行で使用された順に処理されるためです)。 
+たとえば、\-taglet と \-tag が両方とも todo という
+名前である場合、コマンド行の最後で使用された
+方が順序を決定します。
+.LP
+タグの完全なセットの例  -
+この例では、出力の Parameters と Throws の間に 
+To Do を挿入します。 「X」を使用して、@example が
+ソースコード内の今回の実行で出力されないタグで
+あることを指定できます。 @argfile を使用すると、
+次のように行の継続文字なしで、
+引数ファイルの異なる行にタグを配置できます。 
+.LP
+.RS
+.ft 3
+.nf
+\-tag param
+\-tag return
+\-tag todo:a:"To Do:"
+\-tag throws
+\-tag see
+\-tag example:X
+.fi
+.ft 1
+.RE
+.LP
+javadoc がドキュメンテーションコメントを解析する際に、
+検出されたタグのうち、標準タグでもなく、
+\-tag や \-taglet で渡されるタグでもないものは、
+不明なタグとして認識し、警告がスローされます。
+.LP
+標準タグは、最初、デフォルトの順序で
+リスト内部的に格納されます。 
+\-tag オプションを使用すると、このタグがリストに追加されます。
+標準タグはデフォルトの位置から移動します。 
+そのため、標準タグで \-tag オプションが省略されると、
+デフォルトの位置に配置されたままになります。
+.LP
+競合の回避 -
+固有のネームスペースを細かく分けるには、
+パッケージに使用されている com.mycompany.todo 
+という名前のように、ドット (.) を区切り記号とする名前を使います。
+Sun は今後もドットを含まない標準タグを作成します。 
+ユーザが作成したタグは、Sun が定義した同じ
+名前のタグの動作をオーバーライドします。 
+つまり、ユーザが @todo という名前のタグまたは
+タグレットを作成していた場合、そのあとで Sun が
+同じ名前の標準タグを作成しても、ユーザが定義した
+動作はそのまま維持されます。
+.LP
+\f3注釈 vs. Javadoc タグ\fP \- 一般に、追加する必要のあるマークアップが、ドキュメンテーションに影響を与えたりドキュメンテーションを生成したりするためのものである場合、そのマークアップは javadoc タグにすべきです。それ以外の場合は注釈にすべきです。
+.na
+「\f2Comparing Annotations and Javadoc Tags\fP」
+.fi
+(http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#annotations) を参照してください。
+.LP
+\-taglet オプションを使用して、より複雑な
+スタンドアロンタグやカスタムインラインタグを
+作成することができます。
+.TP
+\-taglet  class
+タグのドキュメントの生成に使うタグレットを起動するための
+クラスファイルを指定します。 
+クラスの完全修飾名を指定してください。 
+このタグレットは、カスタムタグが持っているテキスト引数の
+数も定義します。 タグレットはこれらの引数を受け取り、
+処理し、出力を生成します。 タグレットの例の詳細については、
+タグレットの概要を参照してください。 
+.LP
+タグレットはスタンドアロンタグまたはインラインタグに
+使用すると便利です。 タグレットでは任意の
+数の引数を持つことができ、カスタムの動作を実装できます。
+たとえば、テキストを太字にしたり、箇条書き形式にしたり、
+テキストをファイルに書き出したり、
+他のプロセスを起動したりすることができるのです。 
+.LP
+タグレットで指定できるのは、タグの配置場所と配置形式のみです。その他のすべての決定は、ドックレットによって行われます。タグレットを使用しても、包含クラスのリストからクラス名を削除するなどの処理は実行できません。ただし、タグのテキストをファイルに出力したり、別のプロセスをトリガするなどの副作用は得られます。
+.LP
+タグレットへのパスを指定するには、 
+.B \-tagletpath 
+オプションを使用します。 
+生成されたページの Parameters と Throws の間に 
+To Do タグレットを挿入する例を示します。
+.LP
+.RS
+.ft 3
+.nf
+\-taglet com.sun.tools.doclets.ToDoTaglet
+\-tagletpath /home/taglets
+\-tag return
+\-tag param
+\-tag todo
+\-tag throws
+\-tag see
+.fi
+.ft 1
+.RE
+.LP
+.B \-taglet 
+オプションを
+.B \-tag 
+オプションの代わりに使用することもできますが、
+その結果、読みにくくなります。
+.TP
+\-tagletpath  tagletpathlist
+taglet クラスファイル (.class) を探すための検索パスを指定します。 
+.I tagletpathlist 
+には、コロン (:) で
+区切って複数のパスを含めることができます。 
+.B Javadoc 
+ツールは、指定されたパス以下のすべての
+サブディレクトリを検索します。
+.TP
+\-docfilessubdirs
+doc-files ディレクトリを、下の階層を含めてコピー
+できるようにします。 つまり、サブディレクトリとすべての
+コンテンツが、生成先ディレクトリに再帰的にコピーされます。 
+たとえば、
+.BR doc-files/example/images 
+ディレクトリとその中のファイルがコピーされます。 
+サブディレクトリを除外するためのオプションもあります。
+.TP
+\-excludedocfilessubdirs  name1:name2:...
+doc-files のサブディレクトリで、指定された
+名前のものを除外します。 このオプションを使用すると、
+SCCS およびその他のソースコード管理の
+サブディレクトリをコピーしないようにできます。 
+.TP
+\-noqualifier  all | packagename1:packagename2:...
+修飾パッケージ名を、出力のクラス名の前から削除します。 
+\-noqualifier の引数は 
+all (すべてのパッケージ修飾子を削除)、
+またはコロンで区切られたパッケージリストの
+いずれかで、修飾子として削除されます。
+ワイルドカードも使用できます。
+パッケージ名はクラス名またはインタフェース名が
+表示されたところから削除されます。 
+.LP
+次の例では、すべてのパッケージ修飾子を省略します。
+.LP
+.RS
+.ft 3
+.nf
+\-noqualifier all
+.fi
+.ft 1
+.RE
+.LP
+次の例では、パッケージ修飾子 java.lang 
+および java.io を省略します。
+.LP
+.RS
+.ft 3
+.nf
+\-noqualifier java.lang:java.io
+.fi
+.ft 1
+.RE
+.LP
+次の例では、java および com.sun から
+始まる (javax を除く) 
+サブパッケージのパッケージ修飾子を削除します。 
+.LP
+.RS
+.ft 3
+.nf
+\-noqualifier java.*:com.sun.*
+.fi
+.ft 1
+.RE
+.LP
+パッケージ修飾子が上記の動作に従って表示される場合、名前は適切に短くされます。詳細は「名前の表示方法」を参照してください。この規則は、
+\-noqualifier が
+使用されているかどうかにかかわらず存在します。
+.TP
+.BI \-notimestamp
+タイムスタンプが抑制されます。
+各ページ先頭近くにある、生成された HTML 内の
+HTML コメントでタイムスタンプが隠されます。
+.B Javadoc 
+を 2 つのソースベースで実行し、それらに対して
+diff を実行するときにこのオプションを使用すると、
+タイムスタンプによって diff が発生しなくなるので
+便利です (このオプションを使用しないと、
+各ページで diff になります)。
+タイムスタンプには 
+.B Javadoc 
+のバージョン番号が含まれており、
+次のようになります。
+.LP
+.RS 5
+ <!-- Generated by javadoc (build 1.5.0-internal) 
+ on Tue Jun 22 09:57:24 PDT 2004 -->
+.RE
+.TP
+\-nocomment
+記述およびすべてのタグを含むコメント
+本文全体を抑制し、宣言だけを生成します。 
+このオプションにより、元は異なる目的のためだった
+ソースファイルを再利用し、
+新しいプロジェクトのためのスケルトンを
+作成できるようになりました。
+.SS コマンド行引数ファイル
+.BR javadoc 
+のコマンド行を短くしたり簡潔にしたりするために、
+.BR javadoc 
+コマンドに対する引数 (\-J オプションを除く) が
+入った 1 つ以上のファイルを指定することができます。 
+このことを利用すれば、どのオペレーティングシステム
+上でも、任意の長さの 
+.BR javadoc 
+コマンドを作成できます。 
+.LP
+引数ファイルには、javac オプションとソースファイル名を
+自由に組み合わせて記述できます。
+また、Javadoc オプションに対する引数だけを記述してもかまいません。 
+ファイル内の各引数は、空白文字または改行で区切ります。 
+ファイル名に空白が含まれている場合は、そのファイル名全体を二重引用符で囲む必要があります。
+.LP
+.LP
+引数ファイル内のファイル名は、
+現在のディレクトリから見た相対パスになります。
+引数ファイルの位置から見た相対パスではありません。 
+引数ファイル内のファイル名リストでは、
+ワイルドカード (*) は使用できません。
+たとえば、*.java とは指定できません。 
+引数ファイル内の引数で @ 文字を使用して、
+複数のファイルを再帰的に解釈することはサポートされていません。 
+また、\-J オプションもサポートされていません。
+このオプションは起動ツールに渡されますが、
+起動ツールでは引数ファイルをサポートしていないからです。
+.LP
+.BR javadoc 
+を実行するときに、各引数ファイルのパスとファイル名の
+先頭に @ 文字を付けて渡します。 
+.BR javadoc 
+は、@ 文字で始まる引数を見つけると、
+そのファイルの内容を展開して引数リストに挿入します。
+.LP
+引数ファイルを 1 つ指定する例
+.LP
+argfile という名前の引数ファイルにすべての 
+Javadoc 引数を格納し、次のように使用することができます。
+.LP
+.RS
+.ft 3
+.nf
+% javadoc @argfile
+.fi
+.ft 1
+.RE
+.LP
+この引数ファイルには、次の例で示されている 
+2 つのファイルの内容を両方とも入れることができます。
+.LP
+引数ファイルを 2 つ指定する例
+.LP
+Javadoc オプション用に 1 つ、パッケージ名またはソースファイル名用に 
+1 つというように、2 つの引数ファイルを作成し、
+次のようにして使用することができます。 
+なお、このあとのリストでは、行の継続文字を使用していません。 
+.LP
+以下の内容を含む options という名前のファイルを作成します。
+.LP
+.RS
+.ft 3
+.nf
+\-d docs-filelist
+\-use
+\-splitindex
+\-windowtitle 'Java 2 Platform v1.3 API Specification'
+\-doctitle 'Java<sup><font size="-2">TM</font></sup> 2\\
+		Platform 5.0 API Specification'
+\-header '<b>Java 2 Platform </b><br><font size="-1">5.0</font>'
+\-bottom 'Copyright 1993-2000 Sun Microsystems, Inc. All Rights Reserved.'
+\-group "Core Packages" "java.*"
+\-overview /java/pubs/ws/1.5/src/share/classes/overview-core.html
+\-sourcepath /java/pubs/ws/1.5/src/share/classes
+.fi
+.ft 1
+.RE
+.LP
+以下の内容を含む packages という名前のファイルを作成します。
+.LP
+.RS
+.ft 3
+.nf
+com.mypackage1
+com.mypackage2
+com.mypackage3
+.fi
+.ft 1
+.RE
+.LP
+そのあと、次のコマンドを使用して javadoc を実行します。
+.LP
+.RS
+.ft 3
+.nf
+% javadoc @options @packages
+.fi
+.ft 1
+.RE
+.LP
+パス付きの引数ファイルの例
+.LP
+引数ファイルには、パスを指定できます。
+ただし、そのファイル内に指定されたファイル名は、
+現在の作業ディレクトリから見た相対パスになります。
+つまり、下の例の場合は、path1 や 
+path2 から見た相対パスではありません。
+.LP
+.RS
+.ft 3
+.nf
+% javadoc @path1/options @path2/packages
+.fi
+.ft 1
+.RE
+.LP
+オプションの引数の例
+.LP
+次に、javadoc オプションに対する引数だけを引数ファイルに
+格納する例を示します。 ここでは、\-bottom オプションを
+例に取り上げます。そのオプションには、
+かなり長い引数を指定することがあるからです。 
+まず、このオプションのテキスト引数になる
+次のような内容を含む、bottom という名前の
+ファイルを作成します。
+.LP
+'<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">
+Submit a bug or feature</a><br><br>Java is a 
+trademark or registered trademark of 
+Sun Microsystems, Inc. in the US and other 
+countries.<br>Copyright 1993-2000 Sun 
+Microsystems, Inc. 901 San Antonio Road,<br>Palo 
+Alto, California, 94303, U.S.A. 
+All Rights Reserved.</font>'
+.LP
+そのあと、次のようにして 
+.B javadoc
+ツールを実行します。
+.LP
+.TP 3
+% javadoc \-bottom @bottom @packages
+.LP
+また、引数ファイルの先頭に 
+\-bottom オプションを組み込んでおけば、次のようにして実行できます。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc @bottom @packages
+.fi
+.ft 1
+.RE
+.TP  
+.SH 実行
+.SS Javadoc の実行
+バージョン番号 -
+.LP
+javadoc のバージョン番号は 
+.BR javadoc \-J\-version
+を使用することで確認できます。 
+標準ドックレットのバージョン番号は出力ストリームに
+表示されます。 
+これは \-quiet オプションでオフにできます。
+.LP
+プログラムから利用できる public インタフェース -
+Java 言語で書かれたプログラム内から 
+.B javadoc 
+ツールを呼び出します。 
+このインタフェースは 
+.BR com.sun.tools.javadoc.Main 
+(javadoc は再入) 
+にあります。 詳細は、「標準ドックレット」
+を参照してください。
+.LP
+\f3ドックレットの実行\fP \- 
+下記の説明は、標準 HTML ドックレットを呼び出すためのものです。カスタムドックレットを呼び出すには、\-doclet および \-docletpath オプションを使用します。特定のドックレットを実行した完全な例については、
+.na
+「\f2Running the MIF Doclet\fP」
+.fi
+(http://java.sun.com/j2se/javadoc/mifdoclet/docs/mifdoclet.html#runningmifdoclet) を参照してください。
+.LP
+.SH "使用例"
+.B javadoc 
+は、パッケージ全体に対して実行することも、
+個々のソースファイルに対して実行することも
+できます。各パッケージ名は、それぞれの
+パッケージ名に対応するディレクトリ名を
+持ちます。次の例では、ソースファイルは 
+.BR /home/src/java/awt/*java
+にあります。生成先ディレクトリは 
+.BR /home/html
+です。 
+.SS "1 つ以上のパッケージのドキュメント化"
+パッケージをドキュメント化するには、その
+パッケージのソースファイル (*\f3.java\f1) 
+が、パッケージと同じ名前を持つディレクトリ
+内に存在していなければなりません。
+パッケージ名が複数の識別子で構成されている 
+(java.awt.color のように、各識別子はドットで
+区切られている) 場合は、後続の各識別子が下位の
+サブディレクトリに対応して
+いなければなりません (java/awt/color など)。 
+1 つのパッケージのための複数のソースファイルを、
+異なる場所にある 2 つのディレクトリツリーに分けて
+格納することも可能です
+ (
+.BR src1/java/awt/color 
+と 
+.BR src2/java/awt/color 
+など)。
+ただし、その場合は、\-sourcepath によって、
+その両方の場所を指定しなければなりません。 
+.LP
+.B javadoc 
+を実行するには、cd コマンドを使って
+ディレクトリを変更するか、
+または 
+.B \-sourcepath 
+オプションを使用します。 
+それぞれの例を次に示します。 
+.TP 2
+\(bu
+.B ケース 1 - 1 つ以上のパッケージからの起動を再帰的に実行 - 
+この例では javadoc が任意のディレクトリから実行できるように、
+.BR \-sourcepath 
+を使用し、再帰的処理のために -subpackages (1.4 の新オプション) を使用します。 これは、java のサブパッケージ (
+.BR java.net 
+および 
+.BR java.lang 
+をルートとするパッケージを除く) を処理します。 
+これによって 
+.BR java.lang.ref (
+.BR java.lang  
+のサブパッケージ) が
+除外されることに注意してください。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-d /home/html \-sourcepath /home/src \-subpackages java \-exclude java.net:java.lang
+.fi
+.ft 1
+.RE
+.LP
+他のパッケージツリーを処理するには、
+.BR java:javax:org.xml.sax 
+のように、その名前を 
+.BR \-subpackages 
+引数に追加します。 
+.TP 2
+\(bu
+.B ケース 2 - ルートソースディレクトリに移ってから明示的なパッケージを実行 - 
+完全修飾パッケージの
+親ディレクトリに移動します。 
+次に、ドキュメント化する 
+1 つ以上のパッケージ名を指定して 
+.BR javadoc 
+を実行します。 
+.LP
+.RS 
+.ft 3
+.nf
+% cd /home/src/
+% javadoc \-d /home/html java.awt java.awt.event
+.fi
+.ft 1
+.RE
+.TP 2
+\(bu
+.B ケース 3 - 任意のディレクトリから実行。ソースファイルは 1 つのディレクトリツリー内にある - このケースでは、現在のディレクトリがどこであってもかまいません。 トップレベルのパッケージの親ディレクトリを 
+.B \-sourcepath 
+に指定し、ドキュメント化する 1 つ以上のパッケージ名を指定して、
+.B javadoc 
+を実行します。 
+.LP
+.RS 
+.ft 3
+.nf
+  % javadoc -d /home/html -sourcepath /home/src java.awt java.awt.event
+.fi
+.ft 1
+.RE
+.TP 2
+\(bu
+.B ケース 4 - 任意のディレクトリから実行。ソースファイルは複数のディレクトリツリー内にある - これはケース 3 と似ていますが、パッケージが複数のディレクトリツリーに存在します。 各ツリーのルートへのパスを 
+.B \-sourcepath 
+に指定し (コロンで区切る)、ドキュメント化する 1 つ以上のパッケージ名を指定して、javadoc を実行します。 1 つのパッケージのすべてのソースファイルが、1 つのルートディレクトリの下に存在しなければならない、ということはありません。ソースパスとして指定された場所のどこかで見付かれば十分です。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-d /home/html \-sourcepath /home/src1:/home/src2 java.awt java.awt.event
+.fi
+.ft 1
+.RE
+.LP
+結果: どちらのケースでも、パッケージ 
+.B java.awt 
+と 
+.B java.awt.event 
+の public および protected 
+なクラスとインタフェースを対象に、HTML 形式の
+ドキュメントが生成され、指定
+された生成先ディレクトリ (\f3/home/html\f1) に HTML ファイルが
+保存されます。2 つ
+以上のパッケージが生成されるので、ドキュメントは、
+パッケージのリスト、クラスのリスト、
+およびメインページの 3 つのフレームを持つことになります。 
+.SS "1 つ以上のクラスのドキュメント化"
+.B javadoc 
+ツールを実行する 2 番目の方法は、1 つ以上のソースファイル (
+.B .java
+) を渡すことです。
+.B javadoc 
+は、次の 2 つのどちらかの方法で実行できます。
+1 つは、(cd によって) ディレクトリを
+変更する方法、もう 1 つは 
+.B .java 
+ファイルへのパスを完全指定する方法です。
+相対パスは、現在のディレクトリからの相対パスです。
+ソースファイルを渡した場合、
+.B \-sourcepath 
+オプションは無視されます。
+アスタリスク (*) の
+ようなコマンド行ワイルドカードを使用すると、
+クラスのグループを指定できます。 
+.TP 2
+\(bu
+.B ケース 1 ソースディレクトリへの移動: 
+.B .java 
+ファイルのあるディレクトリに移動します。
+次に、ドキュメント化する 1 つ以上の
+ソースファイルの名前を指定して 
+.BR javadoc 
+を実行します。 
+.LP
+.RS 
+.ft 3
+.nf
+% cd /home/src/java/awt
+% javadoc \-d /home/html Button.java Canvas.java Graphics*.java
+.fi
+.ft 1
+.RE
+.LP
+.RS 2
+この例では、クラス Button と Canvas、
+および先頭が Graphics で始まるクラスの 
+HTML 形式のドキュメントが生成されます。
+.BR javadoc
+の引数として渡されているのは、
+パッケージ名ではなくソースファイルなので、
+ドキュメントは、クラスのリストと
+メインページの 2 つのフレームを持つことになります。 
+.RE
+.TP 2
+\(bu
+.B ケース 2 パッケージのルートディレクトリへの移動: 
+これは、同じルート内にある複数のサブパッケージのソースファイルを個々に
+ドキュメント化する場合に便利です。パッケージの
+ルートディレクトリに移動し、各ソースファイルを
+ルートからのパスで指定します。 
+.LP
+.RS 
+.ft 3
+.nf
+% cd /home/src/
+% javadoc \-d /home/html java/awt/Button.java java/applet/Applet.java
+.fi
+.ft 1
+.RE
+.LP
+.RS 2
+この例では、Button クラスおよび Applet クラス
+用の HTML 形式のドキュメント
+が生成されます。 
+.RE
+.TP 2
+\(bu
+.B ケース 3 すべてのディレクトリから: 
+このケースでは、現在のディレクトリがどの
+ディレクトリでも問題はありません。
+ドキュメント化する 
+.B .java 
+ファイルへの絶対パスまたは
+相対パスを指定して 
+.BR javadoc
+を実行します。 
+.LP
+.RS 
+.ft 3
+.nf
+% javadoc \-d /home/html /home/src/java/awt/Button.java /home/src/java/awt/Graphics*.java
+.fi
+.ft 1
+.RE
+.LP
+.RS 2
+この例では、クラス 
+.B Button 
+および先頭が 
+.BR Graphics 
+で始まるクラスの HTML 形式
+のドキュメントが生成されます。 
+.RE
+.SS "パッケージとクラスのドキュメント化"
+パッケージ全体と個々のクラスを同時にドキュメント
+化できます。次に示すのは、上に示
+した 2 つの例を組み合わせた例です。
+.B \-sourcepath
+は、パッケージへのパスに対しては使用できますが、
+個々のクラスのパスに対しては使用
+できません。 
+.LP
+.RS
+.ft 3
+.nf
+% javadoc \-d /home/html \-sourcepath /home/src java.awt /home/src/java/applet/Applet.java
+.fi
+.ft 1
+.RE
+.LP
+この例では、パッケージ 
+.B java.awt 
+とクラス 
+.B Applet 
+の HTML 形式のドキュメントが
+生成されます。
+.B javadoc
+は、Applet のパッケージ名を、
+.B Applet.java
+ソースファイル内のパッケージの宣言 (宣言がある場合) から決定します。 
+.SS  "使用例"
+.B javadoc
+ツールには、多くの便利なオプションがあり、
+その中のいくつかは、ほかのオプションよりもよく
+使われます。以下は、makefile 変数を使って Java プラット
+フォーム API 上で
+.B javadoc
+ツールを実行するために使う効果的なコマンドです。 
+ここでは 180M バイトのメモリを使用して、
+Java 2 Platform, Standard Edition, v1.2 に
+存在する、約 1500 個の public および protected 
+クラスについてドキュメントを生成します。
+.LP
+同じ例を 2 回掲載します。最初の例はコマンド行から実行するもので、2 番目の例は Makefile から実行するものです。 オプションの引数に絶対パスを使用しているため、任意のディレクトリからこの 
+.B javadoc 
+コマンドを実行できます。
+.SS コマンド行の例
+次のコマンド行の例は 900 文字を超えているため、
+DOS などのシェルには大きすぎます。 
+この制限を回避するには、コマンド行
+引数ファイルを使用します。
+または、シェルスクリプトを記述します。 
+.LP
+.nf
+\f3
+.fl
+% javadoc \-sourcepath /java/jdk/src/share/classes            \\
+.fl
+    \-overview /java/jdk/src/share/classes/overview.html      \\
+.fl
+    \-d /java/jdk/build/api                                   \\
+.fl
+    \-use                                                     \\
+.fl
+    \-splitIndex                                              \\
+.fl
+    \-windowtitle 'Java 2 Platform 5.0 API Specification'    \\
+.fl
+    \-doctitle 'Java<sup><font size="\-2">TM</font></sup> 2 Platform 5.0 API Specification' \\
+.fl
+    \-header '<b>Java 2 Platform </b><br><font size="\-1">5.0</font>' \\
+.fl
+    \-bottom '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit 
+.fl
+a bug or feature</a><br><br>Java is a trademark or registered trademark of Sun Microsystems, 
+.fl
+Inc. in the US and other countries.<br>Copyright 1993\-1999 Sun Microsystems, Inc. 
+.fl
+901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A. All Rights Reserved.</font>' \\  
+.fl
+    \-group "Core Packages" "java.*:com.sun.java.*:org.omg.*" \\
+.fl
+    \-group "Extension Packages" "javax.*"                    \\
+.fl
+    \-J\-Xmx180m                                               \\  
+.fl
+    @packages
+.fl
+\fP
+.fi
+
+.LP
+.LP
+上記のコマンドで、packages は、
+処理対象のパッケージ名 (
+.BR java.applett 
+.BR java.lang など) が
+入っているファイルの名前です。 各オプションの、
+単一引用符で囲まれた引数の内側には、
+改行文字を挿入できません。 たとえば、
+この例をコピー&ペーストする場合は、
+.B \-bottom 
+オプションから改行文字を削除してください。 
+さらに、このあとの「注」も参照してください。
+.SS Makefile の例
+ここでは、GNU Makefile の例を示します。 
+Windows の Makefile の例については、
+.na
+「\f2creating a makefile for Windows\fP」
+.fi
+(http://java.sun.com/j2se/javadoc/faq/index.html#makefiles) を参照してください。
+.LP
+.nf
+\f3
+.fl
+javadoc \-\fP\f3sourcepath\fP\f3 $(SRCDIR)              \\   /* Sets path for source files     */
+.fl
+        \-\fP\f3overview\fP\f3 $(SRCDIR)/overview.html  \\   /* Sets file for overview text    */
+.fl
+        \-\fP\f3d\fP\f3 /java/jdk/build/api             \\   /* Sets destination directory     */
+.fl
+        \-\fP\f3use\fP\f3                               \\   /* Adds "Use" files               */
+.fl
+        \-\fP\f3splitIndex\fP\f3                        \\   /* Splits index A\-Z               */
+.fl
+        \-\fP\f3windowtitle\fP\f3 $(WINDOWTITLE)        \\   /* Adds a window title            */
+.fl
+        \-\fP\f3doctitle\fP\f3 $(DOCTITLE)              \\   /* Adds a doc title               */
+.fl
+        \-\fP\f3header\fP\f3 $(HEADER)                  \\   /* Adds running header text       */
+.fl
+        \-\fP\f3bottom\fP\f3 $(BOTTOM)                  \\   /* Adds text at bottom            */
+.fl
+        \-\fP\f3group\fP\f3 $(GROUPCORE)                \\   /* 1st subhead on overview page   */
+.fl
+        \-\fP\f3group\fP\f3 $(GROUPEXT)                 \\   /* 2nd subhead on overview page   */
+.fl
+        \-\fP\f3J\fP\f3\-Xmx180m                         \\   /* Sets memory to 180MB           */
+.fl
+        java.lang java.lang.reflect        \\   /* Sets packages to document      */
+.fl
+        java.util java.io java.net         \\
+.fl
+        java.applet
+.fl
+        
+.fl
+WINDOWTITLE = 'Java 2 Platform v1.2 API Specification'
+.fl
+DOCTITLE = 'Java<sup><font size="\-2">TM</font></sup> 2 Platform v1.2 API Specification'
+.fl
+HEADER = '<b>Java 2 Platform </b><br><font size="\-1">v1.2</font>'
+.fl
+BOTTOM = '<font size="\-1"><a href="http://java.sun.com/cgi\-bin/bugreport.cgi">Submit
+.fl
+    a bug or feature</a><br><br>Java is a trademark or registered trademark 
+.fl
+    of Sun Microsystems, Inc. in the US and other countries.<br>Copyright 1993\-1999    
+.fl
+    Sun Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.  
+.fl
+    All Rights Reserved.</font>'
+.fl
+GROUPCORE = '"Core Packages" "java.*:com.sun.java.*:org.omg.*"'
+.fl
+GROUPEXT  = '"Extension Packages" "javax.*"'
+.fl
+SRCDIR = '/java/jdk/1.2/src/share/classes'
+.fl
+\fP
+.fi
+
+.LP
+.LP
+Makefile の引数は、単一引用符で囲みます。 
+.SS 注
+.TP 2
+\(bu
+.B \-windowtitle 
+オプションを省略すると、
+.B Javadoc 
+ツールによってドキュメントタイトルが
+ウィンドウタイトルにコピーされます。 
+.B \-windowtitle 
+のテキストは、基本的に 
+.B \-doctitle 
+と同じです。ただし、HTML タグは使用しません。
+HTML タグは、ウィンドウタイトルにそのままの
+テキストとして表示されてしまいます。
+.TP 2
+\(bu
+この例のように 
+.B \-footer 
+オプションを省略すると、
+.B Javadoc 
+ツールによってヘッダテキストが
+フッタにコピーされます。
+.TP 2
+\(bu
+この例では必要ありませんが、
+.B \-classpath 
+および 
+.BR \-link 
+も重要なオプションです。
+
+.LP
+.SH トラブルシューティング
+.SS 一般的なトラブルシューティング
+.TP 2
+\(bu
+Javadoc FAQ - よく問題となるバグや
+トラブルシューティングの
+ヒントは 
+.na
+「\f2Javadoc FAQ\fP」
+.fi
+(http://java.sun.com/j2se/javadoc/faq/index.html#B) にあります。
+.TP 2
+\(bu
+バグおよび制限事項 - また、バグの一部は、
+.na
+「\f2Important Bug Fixes and Changes\fP」
+.fi
+(http://java.sun.com/j2se/1.5.0/fixedbugs/index.html) でも参照できます。 
+.TP 2
+\(bu
+バージョン番号 - バージョン番号を参照してください。 
+.TP 2
+\(bu
+有効なクラスだけをドキュメント化 -  
+javadoc がパッケージをドキュメント化するとき、
+有効なクラス名で構成されているファイルだけを
+読み込むようになりました。 
+ファイル名にハイフン (-) などを含めることで、
+javadoc がファイルを解析しないようにできます。 
+.SS エラーと警告
+エラーメッセージおよび警告メッセージには、
+ファイル名と宣言行に対する行番号が
+含まれますが、doc コメントの特定の
+行に対する行番号は含まれません。
+.TP 2
+\(bu
+"error: cannot read: Class1.java" -
+.B Javadoc
+ツールは現在のディレクトリの
+.BR Class1.java
+クラスを読み込もうとしています。 
+クラス名は、絶対パスまたは相対パスで表示されます。
+この場合、./Class1.java と同じです。
+.LP
+.SH "環境"
+.TP 20
+.SB CLASSPATH
+環境変数は、
+.B javadoc
+がユーザクラスファイルを探すときに使う、パスを指定します。環境変数は、
+.B \-classpath
+オプションによってオーバーライドされます。ディレクトリは
+コロンで分割します。たとえば、
+次のとおりです。 
+.RS 15
+.sp 1n
+.B .:/home/classes:/usr/local/java/classes
+.RE
+.br
+.ne 11
+.SH "関連項目"
+.LP
+.RS 3
+.TP 2
+o
+javac 
+.TP 2
+o
+java 
+.TP 2
+o
+jdb 
+.TP 2
+o
+javah 
+.TP 2
+o
+javap 
+.TP 2
+o
+.fi
+http://java.sun.com/j2se/javadoc/index.jsp 
+の
+.na
+「\f2Javadoc Home Page\fP」
+.TP 2
+o
+.fi
+http://java.sun.com/j2se/javadoc/writingdoccomments/index.html 
+の
+.na
+「\f2How to Write Doc Comments for Javadoc\fP」
+.TP 2
+o
+クラスパスの設定
+.TP 2
+o
+javac と javadoc がクラスを検索する方法 (tools.jar)
+.RE
+
+.LP
+.LP
+Javadoc は、Sun Microsystems, Inc の商標です (\f2javadoc\fP コマンド自体には商標シンボルは不要)。
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/javah.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,228 @@
+'\" t
+.\"
+.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 along with this work; if not, write to the Free Software Foundation,
+.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+.\"
+.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+.\" CA 95054 USA or visit www.sun.com if you need additional information or
+.\" have any questions.
+.\"
+.\" 
+'\"macro stdmacro
+.TH javah 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
+.SH "名前"
+javah \- C 言語のヘッダとスタブファイルのジェネレータ
+.\" 
+.\"  This document was created by saving an HTML file as text
+.\"  from the JavaSoft web site:
+.\" 
+.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
+.\" 
+.\"  and adding appropriate troff macros.  Because the JavaSoft web site 
+.\"  man pages can change without notice, it may be helpful to diff
+.\"  files to identify changes other than new functionality. 
+.\" 
+.LP
+
+.LP
+.LP
+\f3javah\fP は、Java クラスから C ヘッダファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。
+.LP
+.SH "形式"
+.B javah 
+[
+.B options
+]
+.I fully-qualified-classname . . .
+.br
+.B javah_g 
+[
+.B options
+]
+.I fully-qualified-classname . . .
+.SH "機能説明"
+.IX "stub file generator" "" "stub file generator \(em \fLjavah\fP"
+.IX "C header and stub file generator" "" "C header and stub file generator \(em \fLjavah\fP"
+.IX "javah" "" "\fLjavah\fP \(em C header and stub file generator"
+.B javah
+コマンドは、ネイティブメソッドを実装するのに必要な
+C
+言語のヘッダおよびソースファイルを生成します。
+C
+のプログラムは、
+生成されたヘッダとソースファイルを使って、
+ネイティブソースコードからオブジェクトのインスタンス
+変数を参照できます。
+.B .h
+ファイルは、対応するクラスに合ったレイアウトの
+構造体定義を含んでいます。
+構造体に含まれるフィールドは、クラス内のインスタンス変数に
+対応しています。
+.LP
+ヘッダファイル名およびヘッダファイル中で定義される構造体名は、
+クラス名から派生します。
+.B javah
+に渡されるクラスがパッケージ内部にあれば、
+そのパッケージ名がファイル名および構造体名の先頭に付加されます。
+名前の間は下線
+(_)
+で区切られます。
+.LP
+デフォルトでは、
+.B javah
+はコマンド行で指定された個々のクラスに対して
+ヘッダファイルを作成し、現在のディレクトリに出力します。
+.B \-stubs
+オプションを指定するとソースファイルが生成されます。
+.B \-o
+オプションを指定すると、指定した全クラスに対する出力ファイル
+を連結して
+1
+個のファイルとして生成します。
+.LP
+新しいネイティブメソッドインタフェースの
+Java Native Interface (JNI)
+は、ヘッダ情報やスタブファイルを必要としません。
+ただし
+.B javah
+コマンドは現在も JNI 形式のネイティブメソッドに必要な
+ネイティブメソッド関数プロトタイプを生成できます。
+.B javah 
+はデフォルトで JNI 形式で出力し、その結果を 
+.B .h
+ファイルに格納します。
+.LP
+.B javah_g
+は非最適化バージョンの
+.B javah
+で、
+.B jdb
+などのデバッガ用の使用に適しています。
+.SH "オプション"
+.TP 15
+.BI \-o " outputfile"
+コマンド行で指定したすべてのクラスに対する結果のヘッダファイルまたは
+ソースファイルを連結し、
+.BR outputfile 
+に格納します。
+.B \-o
+オプションまたは 
+.B \-d
+オプションだけを使用できます。
+.TP 15
+.BI \-d " directory"
+.B javah
+がヘッダファイルまたはスタブファイルを書き出す
+ディレクトリを指定します。
+.TP 15
+.B \-stubs
+Java オブジェクトファイルから C 言語の宣言を生成します。
+.TP 15
+.B \-verbose
+詳細情報の出力を要求します。
+.B javah
+は、生成されたファイルの状態に関するメッセージを
+.B stdout
+に書き出します。
+.TP 15
+.B  \-help
+.B javah
+の使用法についてヘルプメッセージを出力します。
+.TP 15
+.B \-version
+javah バージョン情報を出力します。
+.TP 15
+.B  \-jni
+JNI 形式のネイティブなメソッド関数のプロトタイプが入った出力ファイルを
+作成します。これはデフォルトの出力であるため、
+-B \-jni
+は省略可能です。
+.TP 15
+.BI \-classpath " path"
+.B javah
+がクラスを検索するために用いるパスを
+.I path
+で指定します。この指定値は、デフォルトおよび
+.B CLASSPATH
+環境変数の設定値をオーバーライドします。
+複数のディレクトリを指定する場合はコロンで区切ります。
+したがって
+.I path
+の通常の形式は次のようになります。
+.RS 20
+.sp 1n
+.LP
+.BI .:< your_path >
+.sp 1n
+.RE
+.RS 15
+.LP
+パスの指定例:
+.RE
+.RS 20
+.sp 1n
+.LP
+.B .:/home/avh/classes:/usr/local/java/classes
+.sp 1n
+.RE
+.LP
+便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
+.br
+.br
+たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未定義となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しなどの環境に対する問い合わせを行わない限り、展開されていないワイルドカードを Java プログラムは認識しません。   
+.TP 15
+.BI \-bootclasspath " path"
+bootstrap クラスをロードするパスを指定します。デフォルトでは、bootstrap 
+クラスはコアとなる Java 2 プラットフォームを実装するクラスで、
+.B jre/lib/rt.jar
+および他の重要な jar ファイルに含まれています。
+.TP 15
+.B \-old
+古い JDK 1.0 形式のヘッダファイルを生成します。
+.TP 15
+.B  \-force
+常に出力ファイルに書き込むことを指定します。
+.TP 15
+.BI \-J "option"
+.I option
+を Java 仮想マシンに渡します。ここで、
+.I option
+は、Java アプリケーション起動プログラムの参照ページで
+説明されているオプションの 1 つです。たとえば、
+.I \-J-Xms48m
+は、起動時に使用するメモリを 48M バイトに設定します。
+.SH "環境変数"
+.TP 15
+.B CLASSPATH
+ユーザ定義クラスへのパスをシステムに通知するために使用します。
+複数のディレクトリを指定する場合はコロンで区切ります。
+以下に例を示します。
+.RS 10
+.sp 1n
+.LP
+.B .:/home/avh/classes:/usr/local/java/classes
+.RE
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+javac、java、jdb、javap、javadoc
+.LP
+
+.LP
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/bsd/doc/man/ja/javap.1	Sat Feb 28 21:47:53 2009 -0800
@@ -0,0 +1,330 @@
+'\" t
+.\"
+.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+.\"
+.\" This code is free software; you can redistribute it and/or modify it
+.\" under the terms of the GNU General Public License version 2 only, as
+.\" published by the Free Software Foundation.
+.\"
+.\" This code is distributed in the hope that it will be useful, but WITHOUT
+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+.\" version 2 for more details (a copy is included in the LICENSE file that
+.\" accompanied this code).
+.\"
+.\" You should have received a copy of the GNU General Public License version
+.\" 2 a