名前
javadoc - Javaソース・ファイルからのAPIドキュメントのHTMLページの生成
シノプシス
javadoc
[options] [packagenames] [sourcefiles] [@
files]
- options
- 空白で区切られたコマンド行オプションを指定します。 「標準
javadoc
オプション」、「その他のjavadoc
オプション」、「標準ドックレットの標準オプション」、および「標準ドックレットの追加オプション」を参照してください。 - packagenames
ドキュメント化するパッケージの名前を空白で区切って、
java.lang java.lang.reflect java.awt
のように指定します。 サブパッケージもドキュメント化する場合は、-subpackages
オプションを使用してパッケージを指定します。デフォルトでは、
javadoc
は指定されたパッケージを現在のディレクトリおよびそのサブディレクトリで検索します。 パッケージを検索するディレクトリのリストを指定するには、-sourcepath
オプションを使用します。- sourcefiles
- ドキュメント化するJavaソース・ファイルの名前を空白で区切って、
Class.java Object.java Button.java
のように指定します。 デフォルトでは、javadoc
は指定されたクラスを現在のディレクトリで検索します。 ただし、クラス・ファイルのフル・パスを指定し、ワイルドカード文字を使用することができます。たとえば、/home/src/java/awt/Graphics*.java
のように指定します。 現在のディレクトリからの相対パスを指定することもできます。 @
filesjavadoc
ツール・オプション、パッケージ名およびソース・ファイル名を任意の順序で並べたリストが含まれているファイルの名前を指定します。
説明
javadoc
ツールは、一連のJavaソース・ファイルにある宣言およびドキュメンテーション・コメントを解析し、デフォルトではpublicクラス、protectedクラス、ネストされたクラス(匿名の内部クラスは除く)、インタフェース、コンストラクタ、メソッドおよびフィールドについて説明した対応するHTMLページを生成します。 javadoc
ルールを使用すると、APIドキュメントや、一連のソース・ファイルの実装ドキュメントを生成できます。
javadoc
ツールは、パッケージ全体、個々のソース・ファイル、またはその両方に対して実行できます。 パッケージ全体をドキュメント化する場合は、-subpackages
オプションを使用して、ディレクトリとそのサブディレクトリを再帰的にたどるか、パッケージ名の明示的なリストを渡すことができます。 個々のソース・ファイルをドキュメント化する場合は、Javaソース・ファイル名のリストを渡します。
適合性
標準ドックレットではドキュメンテーション・コメントの内容の適合性が検証されることはなく、ドキュメンテーション・コメントのエラーを修正しようとすることもありません。 javadocを実行するユーザーは、整合性のない出力やJavaScriptなどの実行可能コンテンツを含む出力を生成する際に生じる可能性のある問題について認識しておく必要があります。 標準ドックレットには、開発者がドキュメント・コメントで一般的な問題を検出するのに役立つDocLint機能が用意されていますが、生成された出力を適切な準拠ツールやその他のチェック・ツールを使用して確認することをお薦めします。
HTML5ドキュメントの適合性要件の詳細は、HTML5仕様のConformance requirementsを参照してください。 Webページに関連したセキュリティ問題の詳細は、Open Web Application Security Project (OWASP)のページを参照してください。
オプション
javadoc
は、メインのjavadoc
ツールと現在選択されているドックレットの両方のコマンドライン・オプションをサポートします。 他のドックレットが指定されていない場合、標準ドックレットが使用されます。
GNUスタイルのオプション (つまり、--
で始まるもの)は、空白文字ではなく等号 (=
)を使用して、オプションの名前とその値を区切ることができます。
標準javadoc
オプション
次のjavadoc
の基本オプションは、対応するjavac
オプションと同等です。 これらのオプションの使用方法の詳細は、javacの「標準オプション」を参照してください:
--add-modules
-bootclasspath
--class-path
、-classpath
または-cp
--enable-preview
-encoding
-extdirs
--limit-modules
--module
--module-path
または-p
--module-source-path
--release
--source
または-source
--source-path
または-sourcepath
--system
--upgrade-module-path
次のオプションは、javadoc
の基本オプションであり、対応するjavac
オプションと異なります。
-breakiterator
BreakIterator
で最初の文を計算します。 最初の文は、パッケージ、クラス、またはメンバーのサマリーにコピーされ、アルファベット順のインデックスにコピーされます。BreakIterator
クラスは、英語を除くすべての言語の文の終わりを判断するために使用されます。英語のデフォルトの文-オンライン・アルゴリズム --- ピリオドで停止し、その後に空白またはHTMLブロック・タグを付加します(
<P>
など)。Breakiterator文ブレーク・アルゴリズム --- 次の単語が大文字で始まるときに、ピリオド、疑問符、または感嘆符が後に続くスペースで停止します。 このアルゴリズムでは、ほとんどの省略表記が処理されます(「The serial no. is valid」は処理されるが「Mr. Smith」は処理されない)。
-breakiterator
オプションは、HTMLタグや、数字または記号で始まる文では停止しません。 アルゴリズムは、HTMLタグに埋め込まれている場合でも、../filename
の最後のピリオドで停止します。
-doclet
class- 代替ドックレットを使用して出力を生成します。 完全修飾名を使用してください。 このドックレットにより、出力の内容と形式が定義されます。
-doclet
オプションが使用されていない場合、javadoc
ツールは、標準ドックレットを使用してデフォルトのHTML形式を生成します。 このクラスには、start(Root)
メソッドが含まれていなければなりません。 この起動クラスへのパスは、-docletpath
オプションによって定義されます。 -docletpath
path- ドックレット・クラス・ファイル(
-doclet
オプションで指定)と、それが依存するJARファイルを検索する場所を指定します。 開始クラス・ファイルがJARファイル内にある場合、このオプションではそのJARファイルへのパスが指定されます。 絶対パスまたは現在のディレクトリからの相対パスを指定できます。classpathlist
に複数のパスまたはJARファイルが含まれている場合は、Linuxではコロン(:
)、Windowsではセミコロン(;
)で区切る必要があります。 目的のドックレット
開始クラスがすでに検索パス内にある場合は、このオプションは不要です。 -exclude
pkglist指定されたパッケージとそのサブパッケージを
-subpackages
によって作成されたリストから無条件に除外します。 過去の-subpackages
オプションの指定によって組み込まれたパッケージ、または将来組み込まれるパッケージも除外の対象となります。次の例では、
java.io
、java.util
、java.math
などは組み込まれますが、java.net
とjava.lang
以下のパッケージは除外されます。 これらの例では、java.lang
のサブパッケージであるjava.lang.ref
は除外されます。LinuxおよびmacOS:
javadoc -sourcepath /home/user/src -subpackages java -exclude java.net:java.lang
Windows:
javadoc -sourcepath \user\src -subpackages java -exclude java.net:java.lang
--expand-requires
valuejavadocツールに、ドキュメント化するモジュールのセットを展開するように指示します。 デフォルトでは、コマンドラインで明示的に与えられたモジュールだけが文書化されています。 次の値をサポートします:
transitive
: これらのモジュールの必要なすべての推移的な依存性を追加で含めます。all
: すべての依存性を含めます。
--help
、-help
、-h
または-?
- 標準オプションのシノプシスを表示します。
--help-extra
または-X
- その他の一連のオプションのシノプシスを出力します。
-J
flagjavadocツールを実行するJava Runtime Environment (JRE)に、
flag
を直接渡します。 たとえば、生成ドキュメントを処理するためにシステムで32Mバイトのメモリーを確保しておく必要がある場合は、-Xmx
オプションをjavadoc -J-Xmx32m -J-Xms32m com.mypackage
のように呼び出します。 ただし、-Xms
は初期メモリーのサイズを設定するだけなので、オプションです。これは、必要なメモリーの最小サイズがわかっている場合に便利です。J
とflag
の間には空白を入れません。javadoc
ツールを実行するために使用しているJREのバージョンをレポートするには、-version
オプションを使用します。javadoc -J-version java version "17" 2021-09-14 LTS Java(TM) SE Runtime Environment (build 17+35-LTS-2724) Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)
-locale
namejavadoc
ツールがドキュメントを生成するときに使用するロケールを指定します。 この引数は、en_US
(英語、アメリカ合衆国)やen_US_WIN
(Windowsの変形)のように、java.util.Locale
ドキュメントで説明されているロケールの名前です。ロケールを指定すると、指定したロケールのリソース・ファイルが
javadoc
ツールによって選択されて、メッセージ(ナビゲーション・バー、リストと表の見出し、ヘルプ・ファイルの目次、stylesheet.css
ファイルのコメントなどの文字列)のために使用されます。 また、アルファベット順にソートされるリストのソート順、および最初の文の末尾を判別するための文の区切り文字も、指定したロケールによって決まります。 ただし、-locale
オプションは、ドキュメント化されるクラスのソース・ファイル内で指定されているドキュメンテーション・コメントのテキストのロケールを決定するものではありません。-package
- package、protected、およびpublicのクラスとメンバーだけを表示します。
-private
- すべてのクラスとメンバーを表示します。
-protected
- protectedおよびpublicのクラスとメンバーだけを表示します。 これはデフォルトです。
-public
- publicのクラスおよびメンバーのみを表示します。
-quiet
- メッセージを抑制し、警告とエラーだけが表示されるようにして、これらを特定しやすくします。
version
文字列も抑制します。 --show-members
value(フィールドまたはメソッド)をドキュメント化するメンバーを指定します。ここで、valueは次のいずれかになります:
public
--- パブリック・メンバーのみを表示protected
--- パブリック・メンバーおよび保護されたメンバーを示します。これがデフォルトですpackage
--- public、protectedおよびパッケージのメンバーを示しますprivate
--- すべてのメンバーを表示
--show-module-contents
value- モジュール宣言のドキュメント化の粒度を指定します。valueには
api
またはall
を指定できます。 --show-packages
value- ドキュメント化されるモジュール・パッケージを指定します。valueには、
exported
またはall
パッケージを指定できます。 --show-types
valueどのタイプ(クラス、インタフェースなど)をドキュメント化するかを指定し、valueには次のいずれかを指定できます。
public
--- パブリック・タイプのみを表示protected
--- パブリック・タイプと保護されたタイプを示します。これがデフォルトですpackage
--- public、protectedおよびpackageタイプを示しますprivate
--- すべてのタイプを示します
-subpackages
subpkglistソース・ファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。 このオプションは、ソース・コードに新しいサブパッケージを追加する際に便利です。新しいサブパッケージは自動的に組み込まれます。 各package引数は、任意の最上位サブパッケージ(
java
など)または完全修飾のパッケージ(javax.swing
など)になります。ソース・ファイルを含んでいる必要はありません。 どのオペレーティング・システムでも、引数はコロンで区切られます。 ワイルドカードは使用できません。 パッケージの検索場所を指定するには、-sourcepath
を使用します。 このオプションは、ソース・ツリーにあるがパッケージには属していないソース・ファイルを処理しません。たとえば、次のコマンドは、
java
およびjavax.swing
という名前のパッケージとこれらのサブパッケージ全部のドキュメントを生成します。LinuxおよびmacOS:
javadoc -d docs -sourcepath /home/user/src -subpackages java:javax.swing
Windows:
javadoc -d docs -sourcepath \user\src -subpackages java:javax.swing
-verbose
javadoc
ツールの実行中に詳細なメッセージを表示します。-verbose
オプションを指定しない場合、ソース・ファイルのロード、ドキュメントの生成、(ソース・ファイルごとに1つのメッセージ)およびソートについてのメッセージが表示されます。-verbose
オプションを指定すると、各Javaソース・ファイルを解析するミリ秒数を指定する追加メッセージが出力されます。--version
- バージョン情報を出力します。
-Werror
- 警告が発生した場合にエラーを報告します。
その他のjavadoc
オプション
ノート: javadoc
の追加オプションは、予告なく変更される場合があります。
次の追加のjavadoc
オプションは、対応するjavac
オプションと同等です。 これらのオプションの使用方法の詳細は、javacの「追加オプション」を参照してください:
--add-exports
--add-reads
--patch-module
-Xmaxerrs
-Xmaxwarns
標準ドックレットの標準オプション
次のオプションは、標準ドックレットによって提供されます。
--add-script
file生成されたドキュメントに、fileを追加のJavaScriptファイルとして追加します。 このオプションを1回以上使用して、追加のスクリプト・ファイルを指定できます。
コマンド行の例:
javadoc --add-script first_script.js --add-script second_script.js pkg_foo
--add-stylesheet
file生成されたドキュメントに、fileを追加のスタイル・シート・ファイルとして追加します。 このオプションは、ドキュメントに含まれる追加のスタイルシートを指定するために、1回以上使用できます。
コマンド行の例:
javadoc --add-stylesheet new_stylesheet_1.css --add-stylesheet new_stylesheet_2.css pkg_foo
--allow-script-in-comments
- オプションおよびコメントでJavaScriptを許可します
-author
- 生成ドキュメントに、
@author
のテキストを組み込みます。 -bottom
html-code- 各出力ファイルの最下部に配置するテキストを指定します。 このテキストは、下部ナビゲーション・バーより下の、ページの最下部に配置されます。 テキストには、HTMLタグと空白を含めることができますが、これらを含める場合は、テキストを引用符で囲まなければなりません。 テキスト内の内部引用符には、エスケープ文字を使用してください。
-charset
nameこのドキュメント用のHTML文字セットを指定します。 名前は、「IANAレジストリ、キャラクタ・セット」で指定された優先MIME名でなければなりません。
次に例を示します。
javadoc -charset "iso-8859-1" mypackage
このコマンドにより、生成されるすべてのページの先頭に次の行が挿入されます。
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
meta
タグについては、「HTML標準(4197265および4137321)、HTMLドキュメント表現」で説明します。-d
directoryjavadoc
ツールで生成されたHTMLファイルを保存する生成先ディレクトリを指定します。-d
オプションを省略すると、ファイルは現在のディレクトリに保存されます。directory
の値には、絶対ディレクトリ、または現在の作業ディレクトリからの相対ディレクトリを指定できます。javadoc
ツールを実行すると生成先ディレクトリが自動的に作成されます。LinuxおよびmacOS: たとえば、次のコマンドでは、パッケージ
com.mypackage
のドキュメントが生成され、結果が/user/doc/
ディレクトリに保存されます:javadoc -d /user/doc/ com.mypackage
Windows: たとえば、次のコマンドでは、
com.mypackage
パッケージのドキュメントが生成され、その結果が\user\doc\
ディレクトリに保存されます。javadoc -d \user\doc\ com.mypackage
-docencoding
name生成されるHTMLファイルのエンコーディングを指定します。 名前は、「IANAレジストリ、キャラクタ・セット」で指定された優先MIME名でなければなりません。
javadoc
エンコーディング・コマンドで使用できるオプションは3つあります。-encoding
オプションはjavadoc
ツールによって読み取られるファイルのエンコーディングに使用され、-docencoding
および-charset
オプションはツールによって書き込まれるファイルのエンコーディングに使用されます。 使用可能な3つのオプションのうち、1つのエンコーディング・コマンドで使用できるのは、最大でも入力エンコーディング・オプションと1つの出力エンコーディング・オプションのみです。 入力エンコーディング・オプションと出力エンコーディング・オプションの両方を1つのコマンドで指定する場合は、それらを同じ値にする必要があります。 出力オプションを指定しない場合、デフォルトで入力エンコーディングが使用されます。次に例を示します。
javadoc -docencoding "iso-8859-1" mypackage
-docfilessubdirs
- 再帰的にdoc-fileサブディレクトリをコピーします
-doctitle
html-code- 概要ファイルの最上部の近くに配置するタイトルを指定します。
title
タグに指定されたテキストは中央揃えになり、レベル1の見出しとして、上部ナビゲーション・バーのすぐ下に置かれます。title
タグには、HTMLタグと空白を含めることができますが、これらを含める場合は、タイトルを引用符で囲まなければなりません。title
タグ内のその他の引用符は、エスケープする必要があります。 たとえば、javadoc -doctitle "<b>My Library</b><br>v1.0" com.mypackage
です。 -excludedocfilessubdir
name- 指定された名前のドキュメント・ファイルのサブディレクトリを除外します。 doc-filesディレクトリの深いコピーを有効にします。 コピー先には、サブディレクトリとすべての内容が再帰的にコピーされます。 たとえば、ディレクトリ
doc-files/example/images
とその内容がすべてコピーされます。 サブディレクトリを除外するオプションもあります。 -footer
html-code- 各出力ファイルの下端に配置するフッター・テキストを指定します。
html-code
の値は、下部ナビゲーション・バーの右側に配置されます。html-code
の値には、HTMLタグと空白を含めることができますが、これらを含める場合は、html-code
の値を引用符で囲まなければなりません。 フッター内の内部引用符には、エスケープ文字を使用してください。 -group
namep1:
p2- 概要ページで、指定したパッケージをグループ化します。
-header
html-code- 各出力ファイルの上端に配置するヘッダー・テキストを指定します。 ヘッダーは、上部ナビゲーション・バーの右側に配置されます。
header
には、HTMLタグと空白を含めることができますが、これらを含める場合は、header
を引用符で囲まなければなりません。 ヘッダー内の内部引用符には、エスケープ文字を使用してください。 例:javadoc -header "<b>My Library</b><br>v1.0" com.mypackage
-helpfile
filename上部および下部のナビゲーション・バーの「ヘルプ」リンクのリンク先となるファイルを組み込みます。 このオプションを指定しない場合、
javadoc
ツールは、javadoc
ツールでハードコードされたヘルプ・ファイルhelp-doc.html
を作成します。 このオプションを使うと、そのデフォルトの動作をオーバーライドできます。 filenameには任意の名前を指定でき、help-doc.html
には限定されません。javadoc
ツールは、このオプションでの指定に従って、ナビゲーション・バーにあるリンクを調整します。 次に例を示します。LinuxおよびmacOS:
javadoc -helpfile /home/user/myhelp.html java.awt
Windows:
javadoc -helpfile C:\user\myhelp.html java.awt
-html5
- このオプションはno-opで、下位互換性のために保持されています。
--javafx
または-javafx
- JavaFX機能を有効にします。 このオプションは、モジュール・パスでJavaFXライブラリ・クラスが検出されるとデフォルトで有効になります。
-keywords
各クラスの生成されたファイルにHTMLキーワード
<meta>
タグを追加します。 これらのタグは、<meta>
タグを検索する検索エンジンがページを検索するのに役立ちます。 インターネット全体を検索するほとんどの検索エンジンは、<meta>
タグを参照しません。これは、ページがそれらのタグを誤用する可能性があるためです。 検索を独自のwebサイトに限定している会社が提供する検索エンジンは、<meta>
タグを参照することでメリットを得られます。<meta>
タグには、クラスの完全修飾名とフィールドおよびメソッドの修飾されていない名前が含まれます。 コンストラクタは、クラス名と同じであるため含まれません。 たとえば、クラスString
は次のキーワードで開始します。<meta name="keywords" content="java.lang.String class"> <meta name="keywords" content="CASE_INSENSITIVE_ORDER"> <meta name="keywords" content="length()"> <meta name="keywords" content="charAt()">
-link
urljavadoc
により生成された、外部参照クラスの既存のドキュメントへのリンクを作成します。 url引数は、javadoc
により生成された外部ドキュメントを含むディレクトリの絶対URLまたは相対URLです。 指定した1回のjavadoc
ツールの実行で、複数の-link
オプションを指定して、複数のドキュメントへのリンクを作成できます。このurlディレクトリ内に
package-list
またはelement-list
ファイルが存在する必要があります(存在しない場合は、-linkoffline
オプションを使用します)。ノート:
package-list
およびelement-list
ファイルは、APIドキュメントの生成時にjavadoc
ツールによって生成され、ユーザーが変更することはできません。javadoc
ツールを使用してパッケージをドキュメント化する場合、APIで宣言されているパッケージを特定するためにpackage-list
ファイルが使用されます。 モジュールのAPIドキュメントを生成する場合、javadoc
ツールはelement-list
ファイルを使用して、APIで宣言されたモジュールおよびパッケージを特定します。javadoc
ツールは適切なリスト・ファイルから名前を読み取り、そのURLにあるパッケージまたはモジュールへのリンクを作成します。javadoc
ツールを実行すると、作成される<A HREF>
リンク内にurlの値がコピーされます。 したがって、urlはファイルへのURLではなくディレクトリへのURLである必要があります。url への絶対リンクを使用すると、ユーザーのドキュメントを任意のWebサイト上のドキュメントにリンクできます。相対位置へリンクするだけでよい場合は相対リンクを使用できます。 相対リンクを使用する場合、ユーザーが渡す値は、生成先ディレクトリ(
-d
オプションで指定)からリンク先となるパッケージを含むディレクトリへの相対パスにする必要があります。 絶対リンクを指定すると、通常はHTTPリンクが使用されます。 Webサーバーを持たないファイル・システムにリンクする場合は、ファイル・リンクを使用できます。 生成されたドキュメントにアクセスするすべてのユーザーが同じファイル・システムを共有する場合にのみ、ファイル・リンクを使用します。 いずれの場合も、そしてすべてのオペレーティング・システムにおいて、URLが絶対か相対か、およびhttps:
かhttp:
かfile:
かにかかわらず、URL Memo: Uniform Resource Locatorsで指定されているとおりにセパレータとしてスラッシュを使用します。-link https://<host>/<directory>/<directory>/.../<name> -link http://<host>/<directory>/<directory>/.../<name> -link file://<host>/<directory>/<directory>/.../<name> -link <directory>/<directory>/.../<name>
--link-modularity-mismatch
(warn
|info
)- 誤ったモジュール性(例:モジュラ・ライブラリまたは逆の場合の非モジュール・ドキュメント)の外部ドキュメントを警告(
warn
)として報告するか、メッセージ(info
)として報告するかを指定します。 デフォルトの動作では、警告が報告されます。 -linkoffline
url1 url2このオプションは、
-link
オプションのバリエーションです。 どちらも、javadoc
によって生成された、外部参照クラスのドキュメントへのリンクを作成します。 指定した1回のjavadoc
ツールの実行で、複数の-linkoffline
オプションを指定できます。次の場合に
-linkoffline
オプションを使用します。javadoc
ツールがWeb接続でアクセスできないWeb上のドキュメントへのリンクを作成する場合外部ドキュメントの
package-list
またはelement-list
ファイルにアクセスできないか、またはこれらのファイルがURLの場所には存在しないが別の場所に存在し、package-list
またはelement-list
ファイルで指定できる(通常、ローカル)場合。
ノート:
package-list
およびelement-list
ファイルは、APIドキュメントの生成時にjavadoc
ツールによって生成され、ユーザーが変更することはできません。url1にWorld Wide Web上でしかアクセスできない場合は、
-linkoffline
オプションを指定することにより、ドキュメントを生成するにはjavadoc
ツールでWebに接続できる必要があるという制約がなくなります。-linkoffline
オプションのもう1つの用途は、ドキュメントを更新するためのワークアラウンドとして使用することです。 パッケージまたはモジュールのセット全体に対してjavadoc
ツールを実行した後、変更した一部のパッケージまたはモジュールのセットに対して再度javadoc
ツールを実行できます。これにより、更新されたファイルをオリジナルのセットに挿入できます。たとえば、
-linkoffline
オプションは2つの引数を取ります。 最初の引数は<a href>
リンクに埋め込まれる文字列に使用され、2番目の引数はpackage-list
またはelement-list
ファイルを検索する場所をjavadoc
ツールに示します。url1またはurl2の値は、リンク先にする、
javadoc
によって生成された外部ドキュメントを含むディレクトリの絶対URLまたは相対URLです。 相対値の場合、-d
オプションで指定される生成先ディレクトリを基準にした、リンクされるパッケージのルートの相対パスを指定する必要があります。-link
オプションのurlを参照してください。--link-platform-properties
urlプラットフォームのドキュメントへのリンクを構成するために使用されるプロパティ・ファイルを指定します。
url引数は、次の形式の1つ以上のエントリを含むプロパティ・ファイルを指す必要があります。
<version>
は--release
または--source
オプションに渡されるプラットフォーム・バージョンで、<url>
は対応するプラットフォームAPIドキュメントのベースURLです:doclet.platform.docs.<version>=<url>
たとえば、リリース15から17のURLを含むプロパティ・ファイルには、次の行が含まれる場合があります:
doclet.platform.docs.15=https://example.com/api/15/ doclet.platform.docs.16=https://example.com/api/16/ doclet.platform.docs.17=https://example.com/api/17/
プロパティ・ファイルに特定のリリース用のエントリが含まれていない場合、プラットフォーム・リンクは生成されません。
-linksource
各ソース・ファイル(行番号付き)のHTMLバージョンを作成し、標準HTMLドキュメントからソース・ファイルへのリンクを追加します。 リンクは、ソース・ファイル内に宣言されているクラス、インタフェース、コンストラクタ、メソッド、フィールドに対して作成されます。 そうでない場合、たとえばデフォルト・コンストラクタや生成されたクラスに対しては、リンクは作成されません。
このオプションは、
-public
、-package
、-protected
、-private
の各オプションとは関係なく、privateクラス、privateフィールド、privateメソッドの本体を始めとする組み込まれたソース・ファイル内のすべての非公開実装の詳細を公開します。-private
オプションを指定しないかぎり、privateクラスやprivateインタフェースの一部には、リンクを介してアクセスできないことがあります。各リンクは、その宣言内の識別子名の上に作成されます。 たとえば、
Button
クラスのソース・コードへのリンクは、「Button
」という語の上に作成されます。public class Button extends Component implements Accessible
Button
クラスのgetLabel
メソッドのソース・コードへのリンクは、「getLabel
」という語の上に作成されます。public String getLabel()
--main-stylesheet
fileまたは-stylesheetfile
file生成されたドキュメントで使用されるCSSスタイルの定義を含む代替スタイルシート・ファイルのパスを指定します。 このオプションを使うと、そのデフォルトの動作をオーバーライドできます。 オプションを指定しなかった場合、
javadoc
ツールはデフォルトのスタイルシートを作成して使用します。 ファイル名には任意の名前を指定でき、stylesheet.css
には限定されません。 推奨される形式は、--main-stylesheet
オプションです。コマンド行の例:
javadoc --main-stylesheet main_stylesheet.css pkg_foo
-nocomment
- 主説明およびすべてのタグを含むコメント本文全体を抑制し、宣言だけを生成します。 このオプションを使用すると、最初は新しい目的のために意図されたソース・ファイルを再利用できるため、新しいプロジェクトの初期段階でスケルトンHTMLドキュメントを作成できます。
-nodeprecated
- 非推奨APIをドキュメントに生成しないようにします。 このオプションを指定すると、
-nodeprecatedlist
オプションを指定した場合と同じ効果があり、ドキュメントの残り部分全体で非推奨APIが生成されなくなります。 このオプションは、コードを記述しているとき、非推奨のコードによって気を散らされたくない場合に便利です。 -nodeprecatedlist
- 非推奨APIのリストを含むファイル(
deprecated-list.html
)、およびナビゲーション・バーのそのページへのリンクが生成されないようにします。javadoc
ツールは、ドキュメントの残り部分では非推奨APIを引き続き生成します。 このオプションは、非推奨APIがソース・コードに含まれておらず、ナビゲーション・バーをすっきりと見せたい場合に便利です。 -nohelp
- 出力の各ページの上部にあるナビゲーション・バーのHELPリンクを省略します。
-noindex
- 生成ドキュメントから、索引を省略します。 デフォルトでは、索引が生成されます。
-nonavbar
- 通常は生成されるページの最上部と最下部に表示されるナビゲーション・バー、ヘッダー、およびフッターを生成しないようにします。
-nonavbar
オプションは、-bottom
オプションには影響を与えません。-nonavbar
オプションは、印刷するためだけにファイルをPostScriptまたはPDFに変換する場合など、内容だけが重要で、ナビゲーションの必要がない場合に便利です。 --no-platform-links
- プラットフォームのドキュメントへのリンクの生成を防止します。 これらのリンクはデフォルトで生成されます。
-noqualifier
name1:
name2...修飾子のリストを出力から除外します。 クラスまたはインタフェースの名前が表示される場所からパッケージ名が削除されます。
次の例では、すべてのパッケージ修飾子を省略します。
-noqualifier all
次の例では、パッケージ修飾子
java.lang
およびjava.io
を省略します。-noqualifier java.lang:java.io
次の例では、
java
で始まるパッケージ修飾子とcom.sun
のサブパッケージを省略しますが、javax: -noqualifier java.*:com.sun.*
は省略しません。パッケージ修飾子が上記の動作に従って表示される場合、名前は適切に短縮されます。 この規則は、
-noqualifier
オプションを使用したかどうかにかかわらず有効です。-nosince
- 生成ドキュメントから、
@since
タグに対応する「導入されたバージョン
」セクションを省略します。 -notimestamp
- タイムスタンプが抑制されます。各ページ先頭近くにある、生成されたHTML内のHTMLコメントにタイムスタンプが隠されます。
javadoc
ツールを2つのソース・ベースで実行し、それらに対してdiff
を実行する場合、-notimestamp
オプションを使用すると、タイムスタンプによってdiff
が発生しなくなるので便利です(このオプションを使用しないと、各ページでdiff
になります)。 タイムスタンプには、javadoc
ツールのリリース番号が含まれています。 -notree
- 生成された文書からクラスおよびインタフェースの階層ページを除外します。 これらのページには、ナビゲーション・バーの「ツリー」ボタンからアクセスできます。 デフォルトでは、階層が生成されます。
--override-methods
(detail
|summary
)- 詳細または要約セクション内のオーバーライドされるメソッドをドキュメント化します。
-overview
filenamejavadoc
ツールで、filename
によって指定されたソース・ファイルから概要ドキュメント用のテキストを取得し、そのテキストを概要ページ(overview-summary.html
)に配置するように指定します。 ファイル名で指定された相対パスは、現在の作業ディレクトリからの相対パスです。filename
の値とpathには、それぞれ任意の名前と場所を指定できますが、通常は、overview.html
という名前を付けて、ソース・ツリー内の最上位のパッケージ・ディレクトリがあるディレクトリに配置します。 この場所に配置すると、-sourcepath
オプションによってこのファイルが指し示されるので、パッケージをドキュメント化する際にpathが不要になります。LinuxおよびmacOS: たとえば、
java.lang
パッケージのソース・ツリーがsrc/classes/java/lang/
の場合、概要ファイルをsrc/classes/overview.htmlに配置できます。Windows: たとえば、
java.lang
パッケージのソース・ツリーがsrc\classes\java\lang\
の場合、概要ファイルをsrc\classes\overview.html
に配置できます
概要ページが作成されるのは、
javadoc
ツールに複数のパッケージ名を渡した場合のみです。 概要ページのタイトルは、-doctitle
によって設定されます。-serialwarn
@serial
タグがない場合は、コンパイル時に警告を生成します。 デフォルトでは、Javadocはシリアル警告を生成しません。 このオプションを使用すると、直列化の警告が表示されるので、デフォルトの直列化可能フィールドとwriteExternal
メソッドを適切にドキュメント化するのに役立ちます。--since
release(,
release)*指定したreleaseで追加または新しく非推奨になったAPIのドキュメントを生成します。
ドキュメント化ソース・コードの要素の
javadoc
コメントの@since
タグが、オプション引数として渡されたreleaseと一致する場合、要素および追加されたリリースに関する情報が"新規API"ページに含まれます。"非推奨API"ページが生成され、ドキュメント化された要素の
java.lang.Deprecated
注釈のsince
要素がオプション引数のreleaseと一致する場合、要素が非推奨となったリリースに関する情報が"非推奨API"ページに追加されます。リリースは、大/小文字を区別する文字列比較を使用して比較されます。
--since-label
text- "新規API"ページの見出しで使用するtextを指定します。 これには、ページに含まれるリリースに関する情報("リリース2.0の新しいAPI"、"リリース1以降の新しいAPI"など)が含まれる場合があります。
--snippet-path
snippetpathlist- 外部スニペットのファイルを検索するための検索パスを指定します。 スニペット・パス・リストには、プラットフォーム・パス・セパレータ(Windowsでは
;
、他のプラットフォームでは:
。)で区切って複数のパスを含めることができます 標準ドックレットでは、まずスニペットを含むパッケージのsnippet-files
サブディレクトリを検索し、次に指定されたリスト内のすべてのディレクトリを検索します。 -sourcetab
tablength- ソース内の各タブが使用する空白文字の数を指定します。
-splitindex
- 索引ファイルをアルファベットごとに複数のファイルに分割し、文字ごとに1つのファイルと、アルファベット以外の記号で始まる索引エントリ用に1つのファイルを作成します。
-tag
name:locations:header- 単一引数のカスタム・タグを指定します。
javadoc
ツールでタグ名のスペル・チェックを行うには、ソース・コード内のすべてのカスタム・タグに-tag
オプションを組み込むことが重要です。今回の実行で出力されないタグは、X
を付けて無効にします。 コロン(:
)は常にセパレータです。-tag
オプションは、タグの見出しheaderを太字で出力します。その次の行には、このオプションの単一の引数で指定したテキストが続きます。 ブロック・タグと同様、この引数のテキストにはインライン・タグを含めることができます。このインライン・タグも解釈されます。 出力は、引数を1つ取る標準のタグ(@return
、@author
など)の出力とよく似ています。 header値を省略すると、nameが見出しになります。 -taglet
classそのタグのドキュメントの生成に使用されるタグ・レットの完全修飾名を指定します。 classの値には完全修飾名を使用してください。 このタグレットは、カスタム・タグのテキスト引数の数も定義します。 タグレットは、これらの引数を受け付け、処理し、出力を生成します。
タグレットは、ブロック・タグまたはインライン・タグで便利です。 タグレットは任意の数の引数をとることができます。また、テキストを太字にする、箇条書きを作成する、テキストをファイルに書き出す、その他のプロセスを開始するなどのカスタム動作を実装できます。 タグレットで指定できるのは、タグの配置場所と配置形式のみです。 その他のすべての決定は、ドックレットによって行われます。 タグレットを使用しても、包含クラスのリストからクラス名を削除するなどの処理は実行できません。 ただし、タグのテキストをファイルに出力したり、別のプロセスをトリガーするなどの副作用は得られます。 タグレットのパスを指定するには、
-tagletpath
オプションを使用します。 以下は、生成されるページの「Parameter」と「Throws」の間に「To Do」タグレットを挿入する例です。-taglet com.sun.tools.doclets.ToDoTaglet -tagletpath /home/taglets -tag return -tag param -tag todo -tag throws -tag see
-tag
オプションのかわりに-taglet
オプションを使用することもできますが、読みにくくなる場合があります。-tagletpath
tagletpathlist- タグレットのクラス・ファイルの検索パスを指定します。 tagletpathlistには、プラットフォーム・パス・セパレータ(Windowsでは
;
、他のプラットフォームでは:
。)と分離することで、複数のパスを含めることができますjavadoc
ツールは、指定されたパスのすべてのサブディレクトリを検索します。 -top
html-code- 各出力ファイルの最上部に配置するテキストを指定します。
-use
- クラスとパッケージの使用ページを作成します。 ドキュメント化されるクラスおよびパッケージごとに1つの「使用」ページを組み込みます。 このページには、その特定のクラスまたはパッケージのAPIを使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドが記述されます。 たとえば、クラスCを例にとると、クラスCを使っているものとしては、Cのサブクラス、Cとして宣言されているフィールド、Cを返すメソッド、および、型Cのパラメータを持つメソッドとコンストラクタがあります。 たとえば、
String
型の「使用」ページを見てみましょう。java.awt.Font
クラスのgetName
メソッドはタイプString
を返すため、getName
メソッドはString
を使用し、getName
メソッドはString
の「使用」ページに表示されます。 これは、実装ではなく、APIの使用のみを示しています。 あるメソッドが、その実装の中でString
を使用していても、引数として文字列を取ったり、文字列を返したりしない場合は、String
の使用とは見なされません。生成された「使用」ページにアクセスするには、目的のクラスまたはパッケージに移動し、ナビゲーション・バーの「使用」リンクをクリックします。 -version
- 生成されたドキュメントにバージョン・テキストを含めます。 このテキストは、デフォルトでは省略されます。 使用している
javadoc
ツールのバージョンを確認するには、-J-version
オプションを使用します。 -windowtitle
title- HTMLの
<title>
タグに配置するタイトルを指定します。title
タグに指定されたテキストは、ウィンドウのタイトルや、このページに対して作成されたブラウザのブックマーク(お気に入り)に表示されます。 ブラウザが正しく解釈されないため、このタイトルにHTMLタグを含めることはできません。title
タグ内の内部引用符には、エスケープ文字を使用してください。-windowtitle
オプションが省略されている場合、javadoc
ツールは、-windowtitle
オプションのかわりに-doctitle
オプションの値を使用します。 例:javadoc -windowtitle "My Library" com.mypackage
標準ドックレットの追加オプション
標準ドックレットで提供される追加オプションを次に示します。予告なく変更される場合があります。 追加のオプションはあまり使用されないか、拡張とみなされます。
--legal-notices
(default
|none
|directory)- 生成されたドキュメントに法的ファイルをコピーするロケーションを指定します。 オプションが指定されていないか、値が
default
で使用される場合、ファイルはデフォルトのロケーションからコピーされます。 引数を値none
とともに使用すると、ファイルはコピーされません。 他のすべての引数は、法的ファイルのコピー元のディレクトリとして解釈されます。 --no-frames
- このオプションはno-opで、下位互換性のために保持されています。
-Xdoclint
ドキュメンテーション・コメントの問題の推奨チェックを有効にします。
デフォルトでは、
-Xdoclint
オプションは有効になっています。 無効にするには、-Xdoclint:none
オプションを使用します。詳細については、DocLintを参照してください。
-Xdoclint:
flag,flag,...ドキュメント・コメントの各種問題に対する特定のチェックを有効または無効にします。
各flagには、
all
、none
または[-]
groupのいずれかを指定できます。groupには、次のいずれかの値があります:accessibility
,html
,missing
,reference
,syntax
。 これらの値の詳細は、「DocLintグループ」を参照してください。2つ以上のフラグを指定する場合は、単一の
-Xdoclint:...
オプションを使用して必要なすべてのフラグを一覧表示するか、複数のオプションを使用して各オプションで1つ以上のフラグを指定できます。 たとえば、次のいずれかのコマンドを使用して、ファイルMyFile.java
のHTML、構文およびアクセシビリティの問題をチェックします。javadoc -Xdoclint:html -Xdoclint:syntax -Xdoclint:accessibility MyFile.java javadoc -Xdoclint:html,syntax,accessibility MyFile.java
次の例は、DocLintレポートの変更方法を示しています:
-Xdoclint:none
--- すべてのチェックを無効にします-Xdoclint:
group --- groupチェックを有効にします-Xdoclint:all
--- すべてのチェック・グループを有効にします-Xdoclint:all,-
group --- groupチェックを除くすべてのチェックを有効にします
詳細については、DocLintを参照してください。
-Xdoclint/package:
[-
]packages特定のパッケージのチェックを有効または無効にします。packagesはカンマで区切られたパッケージ指定子のリストです。 パッケージ指定子は、パッケージの修飾名、またはパッケージ名のプレフィクスのあとに
*
を付加して、指定されたパッケージのすべてのサブパッケージに展開されます。 指定されたパッケージのチェックを無効にするには、パッケージ指定子の先頭に-
を付けます。詳細については、DocLintを参照してください。
-Xdocrootparent
url- ドキュメント・コメントのすべての
@docRoot
アイテムに続けて/..
をurlに置き換えます。
DocLint
DocLintには、ドキュメント・コメントで発生する可能性のある問題をチェックする機能があります。 問題は、その重大度に応じて警告またはエラーとして報告される場合があります。 たとえば、欠落したコメントは警告に値する不正なスタイルである可能性がありますが、未知のJava宣言へのリンクはより深刻であり、エラーを望みます。 問題は「グループ」に編成され、オプションは1つ以上のグループ内のメッセージを有効または無効にするために使用できます。 ソース・コード内では、1つ以上のグループのメッセージを@SuppressWarnings
注釈を使用して「抑止」にできます。
javadoc
から呼び出されると、デフォルトでDocLintは、生成されたドキュメントで使用されるすべてのコメントをチェックします。 したがって、他のコマンドライン・オプションに依存して、どの宣言、およびどの対応するドキュメント・コメントを含めるかを決定します。 ノート: これは、生成されたSerialized Forms
ページにメンバーをドキュメント化する必要がある場合、直列化可能なクラスの一部のプライベート・メンバーに対するコメントもチェックされることを意味します。
対照的に、DocLintがjavac
から起動される場合、DocLintは様々な-Xdoclint...
オプションにのみ依存し、チェックするドキュメント・コメントを決定します。
DocLintは無効な入力を修正しようとせず、単にレポートします。
ノート: DocLintは、これらのチェックの完全性を保証しません。 具体的に言うと、これは完全なHTMLコンプライアンス・チェッカではありません。 目標は、一般的なエラーを簡単にレポートすることです。
グループ
DocLintによって実行されるチェックは、グループに編成されます。 各グループの警告とエラーは、コマンド行オプションで有効または無効にしたり、@SuppressWarnings
注釈で抑制したりできます。
グループは次のとおりです:
accessibility
--- アクセシビリティに関連する問題をチェックします。
たとえば、<img>
要素にalt
属性が指定されていないか、<table>
要素にキャプションまたはサマリー属性が指定されていません。javadoc
で生成されたファイルでダウンストリーム検証ツールがエラーを報告することが予想される場合、問題はエラーとして報告されます。参照方法については、「Webコンテンツ・アクセシビリティ・ガイドライン」を参照してください。
html
--- 一般的な高レベルHTMLの問題を検出します。
たとえば、ブロック要素をインライン要素内に配置したり、終了タグを必要とする要素をクローズしないようにします。javadoc
で生成されたファイルでダウンストリーム検証ツールがエラーを報告することが予想される場合、問題はエラーとして報告されます。参照方法については、HTML Living Standardを参照してください。
missing
--- 欠落しているドキュメントのコメントまたはタグをチェックします。
たとえば、クラス宣言のコメントが欠落しているか、メソッド宣言のコメントに@param
または@return
タグが欠落しています。欠落しているアイテムに関連する問題は、通常、
javadoc
によって生成された出力を確認するために使用できるダウンストリーム検証ツールによってエラーとして報告される可能性がないため、警告として報告されます。reference
--- ドキュメントのコメント・タグからJava API要素への参照に関連する問題をチェックします。
たとえば、@see
または{@link ...}
の参照が見つからないか、@param
または@throws
に不正な名前が指定されています。問題は通常、エラーとして報告されます。これは、生成されたファイルで問題が起こらない場合があり、作成者は誤ったドキュメントまたは予期しないドキュメントにつながる間違いを起こした可能性があるためです。
syntax
--- ドキュメント・コメントで低レベルの構文の問題をチェックします。
たとえば、エスケープされていない山カッコ(<
および>
)およびアンパサンド(&
)および無効なドキュメントのコメント・タグです。
問題が誤ったドキュメントまたは予期しないドキュメントにつながる可能性があるため、通常、問題はエラーとして報告されます。
メッセージの抑制
DocLintは、@SuppressWarnings
注釈の引数に存在する可能性のある2つの文字列を確認して認識します。
doclint
doclint:
LIST
LISTは、1つ以上のaccessibility
, html
, missing
, syntax
, reference
のカンマ区切りリストです。
LISTの名前は、javac
およびjavadoc
のコマンド行-Xdoclint
オプションでサポートされるものと同じgroup名です。 (これは、javac
-Xlint
オプションおよび@SuppressWarnings
でサポートされている対応する名前と同じ規則です。)
LIST内の名前は、注釈の個別の引数で指定できます。 たとえば、次に示す例は同等です。
@SuppressWarnings("doclint:accessibility,missing")
@SuppressWarnings("doclint:accessibility", "doclint:missing")
DocLintは、ドキュメント・コメントで問題を検出すると、関連する宣言と、字句的に囲むすべての宣言に@SuppressWarnings
が存在するかどうかをチェックします。 単純な文字列doclint
または長い形式doclint:LIST
を含むそのような注釈が見つかった場合、この問題は無視されます(LISTには問題のグループの名前が含まれます)。
ノート: @SuppressWarnings
のほかの用途と同様に、モジュールまたはパッケージ宣言の注釈を使用すると、その宣言にのみ影響します。ほかのソース・ファイル内のモジュールまたはパッケージの内容には影響しません。
問題に関連するすべてのメッセージは、適切な@SuppressWarnings
注釈が存在することで抑制されます: これにはエラーと警告が含まれます。
ノート: 抑制メッセージのみ可能です。 @SuppressWarnings("doclint")
の注釈を最上位レベルの宣言に指定すると、その宣言のすべてのDocLintメッセージおよび囲まれた宣言は抑制されます。囲まれた宣言で問題に対するメッセージを選択的に再有効化することはできません。
ダウンストリーム検証ツールとの比較
DocLintは、ソース・ファイルにあるドキュメント・コメントの内容をチェックするjavac
およびjavadoc
に組み込まれたユーティリティです。 これに対して、ダウンストリーム検証ツールを使用して、javadoc
および標準ドックレットによってこれらのドキュメント・コメントから生成された出力を検証できます。
機能には多少重複がありますが、2つのメカニズムは異なり、それぞれ独自の強さと弱さがあります。
ダウンストリーム検証ツールは、エンド・ユーザーに表示されるように、生成されたドキュメントの最終結果を確認できます。 これには、ドキュメント・コメント、標準ドックレット自体、ユーザー指定のタグ・レット、コマンドライン・オプションを介して提供されるコンテンツなど、すべてのソースからのコンテンツが含まれます。 このようなツールは完全なHTMLページを分析しているため、DocLintよりも完全なチェックを実行できます。 ただし、生成されたページで問題が見つかった場合、ビルド・パイプライン内のどこに問題を修正する必要があるかを正確に追跡することは困難です。
DocLintは、ソース・ファイル内のドキュメント・コメントの内容をチェックします。 これにより、検出された問題の正確な位置を特定しやすくなります。 また、DocLintは、
void
を返すメソッドで@return
タグを使用する、または存在しないパラメータを記述する@param
タグを使用して、ダウンストリーム・ツールが検出できないドキュメント・コメントのセマンティック・エラーを検出することもできます。 ただし、その性質上、DocLintでは、欠落したリンクやユーザー指定のカスタム・タグ・レットのエラー、標準ドックレット自体の問題などの問題をレポートできません。 また、ドキュメント・コメントのコンテンツとカスタム・タグ・レットによって生成されたコンテンツ間の境界でドキュメント・コメントのエラーを確実に検出できません。