名前
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のように指定します。 現在のディレクトリからの相対パスを指定することもできます。 @files-
javadocツール・オプション、パッケージ名、およびソース・ファイル名のリストを任意の順序で含むファイルの名前を指定します。
説明
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
次のオプションは、対応するjavacオプションと等しくないコアjavadocオプションです:
-breakiterator-
BreakIteratorを使用して最初の文を計算します。 最初の文は、パッケージ、クラス、またはメンバーのサマリーにコピーされ、アルファベット順のインデックスにコピーされます。BreakIteratorクラスは、英語を除くすべての言語の文の終了を決定するために使用されます。英語のデフォルトの文-オンライン・アルゴリズム --- ピリオドで停止し、その後に空白またはHTMLブロック・タグを付加します(
<P>など)。Breakiterator文ブレーク・アルゴリズム --- 次の単語が大文字で始まるときに、ピリオド、疑問符、または感嘆符が後に続くスペースで停止します。 このアルゴリズムでは、ほとんどの省略表記が処理されます(「The serial no. is valid」は処理されるが「Mr. Smith」は処理されない)。
-breakiteratorオプションは、数値または記号で始まるHTMLタグや文では停止しません。 アルゴリズムは、HTMLタグに埋め込まれた場合でも、../filenameの最後の期間に停止します。
-docletclass-
代替ドックレットを使用して出力を生成します。 完全修飾名を使用してください。 このドックレットにより、出力の内容と形式が定義されます。
-docletオプションを使用しない場合、javadocツールは標準ドックレットを使用してデフォルトのHTML形式を生成します。 このクラスには、start(Root)メソッドが含まれていなければなりません。 この起動クラスへのパスは、-docletpathオプションによって定義されます。 -docletpathpath-
ドックレット・クラス・ファイル(
-docletオプションで指定した)および依存するすべてのJARファイルを検索する場所を指定します。 開始クラス・ファイルがJARファイル内にある場合、このオプションではそのJARファイルへのパスが指定されます。 絶対パスまたは現在のディレクトリからの相対パスを指定できます。classpathlistに複数のパスまたはJARファイルが含まれている場合は、Linuxではコロン(:)、Windowsではセミコロン(;)で区切る必要があります。doclet開始クラスがすでに検索パスにある場合は、このオプションは必要ありません。 -excludepkglist-
-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.langWindows:
javadoc -sourcepath \user\src -subpackages java -exclude java.net:java.lang
--expand-requiresvalue-
javadocツールに、ドキュメント化するモジュールのセットを展開するように指示します。 デフォルトでは、コマンドラインで明示的に与えられたモジュールだけが文書化されています。 次の値をサポートします:
transitive: さらに、これらのモジュールに必要なすべての推移的依存関係が含まれます。all: すべての依存関係が含まれます。
--help,-help,-hまたは-?- 標準オプションのシノプシスを表示します。
--help-extraまたは-X- その他の一連のオプションのシノプシスを出力します。
-Jflag-
flagを、
javadocツールを実行するJava Runtime Environment (JRE)に直接渡します。 たとえば、生成ドキュメントを処理するためにシステムで32Mバイトのメモリーを確保しておく必要がある場合は、-Xmxオプションをjavadoc -J-Xmx32m -J-Xms32m com.mypackageのように呼び出します。 ただし、-Xmsは初期メモリーのサイズを設定するだけなので、オプションです。これは、必要なメモリーの最小サイズがわかっている場合に便利です。Jとflagの間には空白を入れません。-versionオプションを使用して、javadocツールの実行に使用されているJREのバージョンを報告します。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) -localename-
javadocツールがドキュメントを生成するときに使用するロケールを指定します。 この引数は、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-membersvalue-
(フィールドまたはメソッド)をドキュメント化するメンバーを指定します。ここで、valueは次のいずれかになります:
public--- パブリック・メンバーのみを表示protected--- パブリック・メンバーおよび保護されたメンバーを示します。これがデフォルトですpackage--- public、protectedおよびパッケージのメンバーを示しますprivate--- すべてのメンバーを表示
--show-module-contentsvalue-
モジュール宣言のドキュメント粒度を指定します。valueには、
apiまたはallを指定できます。 --show-packagesvalue-
ドキュメント化するモジュール・パッケージを指定します。valueは、
exportedまたはallパッケージです。 --show-typesvalue-
(classes, interfaces, etc.)がドキュメント化されているタイプを指定します。valueは次のいずれかです:
public--- パブリック・タイプのみを表示protected--- パブリック・タイプと保護されたタイプを示します。これがデフォルトですpackage--- public、protectedおよびpackageタイプを示しますprivate--- すべてのタイプを示します
-subpackagessubpkglist-
ソース・ファイルから指定されたパッケージおよびそのサブパッケージ内に再帰的にドキュメントを生成します。 このオプションは、ソース・コードに新しいサブパッケージを追加する際に便利です。新しいサブパッケージは自動的に組み込まれます。 各パッケージ引数は、ソース・ファイルを含める必要がない最上位のサブパッケージ(such as
java)または完全修飾パッケージ(javax.swingなど)です。 どのオペレーティング・システムでも、引数はコロンで区切られます。 ワイルドカードは使用できません。 パッケージの検索場所を指定するには、-sourcepathを使用します。 このオプションは、ソース・ツリーにあるがパッケージには属していないソース・ファイルを処理しません。たとえば、次のコマンドは、
javaおよびjavax.swingという名前のパッケージおよびそのすべてのサブパッケージに関するドキュメントを生成します。LinuxおよびmacOS:
javadoc -d docs -sourcepath /home/user/src -subpackages java:javax.swingWindows:
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-scriptfile-
生成されたドキュメントに、fileを追加のJavaScriptファイルとして追加します。 このオプションを1回以上使用して、追加のスクリプト・ファイルを指定できます。
コマンド行の例:
javadoc --add-script first_script.js --add-script second_script.js pkg_foo --add-stylesheetfile-
生成されたドキュメントに、fileを追加のスタイル・シート・ファイルとして追加します。 このオプションは、ドキュメントに含まれる追加のスタイルシートを指定するために、1回以上使用できます。
コマンド行の例:
javadoc --add-stylesheet new_stylesheet_1.css --add-stylesheet new_stylesheet_2.css pkg_foo --allow-script-in-comments- オプションおよびコメントでJavaScriptを許可します
-
生成ドキュメントに、
@authorのテキストを組み込みます。 -bottomhtml-code- 各出力ファイルの最下部に配置するテキストを指定します。 このテキストは、下部ナビゲーション・バーより下の、ページの最下部に配置されます。 テキストには、HTMLタグと空白を含めることができますが、これらを含める場合は、テキストを引用符で囲まなければなりません。 テキスト内の内部引用符には、エスケープ文字を使用してください。
-charsetname-
このドキュメント用の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ドキュメント表現」で説明します。 -ddirectory-
javadocツールによって生成されたHTMLファイルが保存される宛先ディレクトリを指定します。-dオプションを省略すると、ファイルは現在のディレクトリに保存されます。directoryの値には、絶対ディレクトリ、または現在の作業ディレクトリからの相対ディレクトリを指定できます。 宛先ディレクトリは、javadocツールの実行時に自動的に作成されます。LinuxおよびmacOS: たとえば、次のコマンドでは、パッケージ
com.mypackageのドキュメントが生成され、結果が/user/doc/ディレクトリに保存されます:javadoc -d /user/doc/ com.mypackageWindows: たとえば、次のコマンドでは、パッケージ
com.mypackageのドキュメントが生成され、結果が\user\doc\ディレクトリに保存されます:javadoc -d \user\doc\ com.mypackage
-docencodingname-
生成されるHTMLファイルのエンコーディングを指定します。 名前は、「IANAレジストリ、文字セット」で指定された優先MIME名でなければなりません。
javadocエンコーディング・コマンドでは、3つのオプションを使用できます。-encodingオプションは、javadocツールによって読み取られるファイルのエンコーディングに使用されますが、-docencodingおよび-charsetオプションは、ツールによって書き込まれるファイルのエンコーディングに使用されます。 使用可能な3つのオプションのうち、1つのエンコーディング・コマンドで使用できるのは、最大でも入力エンコーディング・オプションと1つの出力エンコーディング・オプションのみです。 入力エンコーディング・オプションと出力エンコーディング・オプションの両方を1つのコマンドで指定する場合は、それらを同じ値にする必要があります。 出力オプションを指定しない場合、デフォルトで入力エンコーディングが使用されます。たとえば:
javadoc -docencoding "iso-8859-1" mypackage -docfilessubdirs-
再帰的にdoc-fileサブディレクトリをコピーします doc-filesディレクトリの深いコピーを有効にします。 コピー先には、サブディレクトリとすべての内容が再帰的にコピーされます。 たとえば、ディレクトリ
doc-files/example/imagesとそのすべての内容がコピーされます。-excludedocfilessubdirオプションを使用すると、特定のサブディレクトリを除外できます。 -doctitlehtml-code-
概要ファイルの最上部の近くに配置するタイトルを指定します。
titleタグに指定されたテキストは中央揃えになり、レベル1の見出しとして、上部ナビゲーション・バーのすぐ下に置かれます。titleタグには、HTMLタグと空白を含めることができますが、これらを含める場合は、タイトルを引用符で囲まなければなりません。titleタグ内に追加の引用符をエスケープする必要があります。 たとえば、javadoc -doctitle "<b>My Library</b><br>v1.0" com.mypackageです。 -excludedocfilessubdirname1,name2...-
doc-fileサブディレクトリを再帰的にコピーするときに、指定された名前を持つサブディレクトリをすべて除外します。
-docfilessubdirsを参照してください。 履歴な理由から、:は、,ではなく、引数の任意の場所をセパレータとして使用できます。 -
各出力ファイルの下端に配置するフッター・テキストを指定します。
html-code値は、下部のナビゲーション・バーの右側に配置されます。html-code値にはHTMLタグと空白を含めることができますが、使用する場合は、html-code値を引用符で囲む必要があります。 フッター内の内部引用符には、エスケープ文字を使用してください。 -groupname p1,p2...-
概要ページで、指定したパッケージをグループ化します。 履歴な理由から、
:は、,ではなく、引数の任意の場所にあるセパレータとして使用できます。 -headerhtml-code-
各出力ファイルの上端に配置するヘッダー・テキストを指定します。 ヘッダーは、上部ナビゲーション・バーの右側に配置されます。
headerには、HTMLタグと空白を含めることができますが、これらを含める場合は、headerを引用符で囲まなければなりません。 ヘッダー内の内部引用符には、エスケープ文字を使用してください。 たとえば、javadoc -header "<b>My Library</b><br>v1.0" com.mypackageです。 -helpfilefilename-
上部および下部のナビゲーション・バーの「ヘルプ」リンクのリンク先となるファイルを組み込みます。 このオプションを指定しない場合、
javadocツールは、javadocツールでハードコードされたヘルプ・ファイルhelp-doc.htmlを作成します。 このオプションを使うと、そのデフォルトの動作をオーバーライドできます。 filenameには任意の名前を指定でき、help-doc.htmlには制限されません。javadocツールは、ナビゲーション・バー内のリンクを適宜調整します。 たとえば:LinuxおよびmacOS:
javadoc -helpfile /home/user/myhelp.html java.awtWindows:
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()"> -linkurl-
外部参照クラスの既存の
javadoc生成ドキュメントへのリンクを作成します。 url引数は、外部javadocで生成されたドキュメントを含むディレクトリの絶対URLまたは相対URLです。 指定したjavadocツール実行で複数の-linkオプションを指定して、複数のドキュメントにリンクできます。このurlディレクトリ(それ以外の場合は、
-linkofflineオプションを使用)には、package-listまたはelement-listファイルのいずれかが必要です。ノート:
package-listおよびelement-listファイルは、APIドキュメントの生成時にjavadocツールによって生成され、ユーザーが変更することはできません。javadocツールを使用してパッケージをドキュメント化すると、package-listファイルを使用してAPIで宣言されたパッケージが判別されます。 モジュールのAPIドキュメントを生成すると、javadocツールはelement-listファイルを使用して、APIで宣言されているモジュールおよびパッケージを判別します。javadocツールは、適切なリスト・ファイルから名前を読み取り、そのURLにあるパッケージまたはモジュールにリンクします。javadocツールを実行すると、作成される<A HREF>リンクにurl値がコピーされます。 したがって、urlは、ファイルではなくディレクトリへのURLである必要があります。urlの絶対リンクを使用して、ドキュメントがwebサイトのドキュメントにリンクされるようにしたり、相対的なロケーションのみにリンクするために相対リンクを使用できます。 相対リンクを使用する場合、渡す値は、リンク先のディレクトリ(
-dオプションで指定した)から、リンク先のパッケージを含むディレクトリへの相対パスである必要があります。 絶対リンクを指定すると、通常はHTTPリンクが使用されます。 Webサーバーを持たないファイル・システムにリンクする場合は、ファイル・リンクを使用できます。 生成されたドキュメントにアクセスするすべてのユーザーが同じファイル・システムを共有する場合にのみ、ファイル・リンクを使用します。 すべての場合、およびすべてのオペレーティング・システムでは、URLが絶対か相対かに関係なく、区切り文字としてスラッシュを使用し、URLメモ : ユニ・フォーム・リソース・ロケータで指定されているhttps:、http:またはfile:を使用します。-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)として報告するかを指定します。 デフォルトの動作では、警告が報告されます。 -linkofflineurl1 url2-
このオプションは、
-linkオプションのバリエーションです。 どちらも、外部参照クラスのjavadoc生成ドキュメントへのリンクを作成します。 指定した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つの引数を取ります。 1つ目は<a href>リンクに埋め込まれる文字列で、2つ目はjavadocツールにpackage-listまたはelement-listファイルのいずれかの場所を示します。url1またはurl2値は、リンク先の外部
javadoc生成ドキュメントを含むディレクトリの絶対URLまたは相対URLです。 相対値の場合、-dオプションで指定される生成先ディレクトリを基準にした、リンクされるパッケージのルートの相対パスを指定する必要があります。-linkオプションのurlを参照してください。 --link-platform-propertiesurl-
プラットフォームのドキュメントへのリンクを構成するために使用されるプロパティ・ファイルを指定します。
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 AccessibleButtonクラスのgetLabelメソッドのソース・コードへのリンクは、「getLabel」という語の上に作成されます。public String getLabel() --main-stylesheetfileまたは-stylesheetfilefile-
生成されたドキュメントで使用される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オプションは、-bottomオプションには影響しません。-nonavbarオプションは、印刷するためだけにファイルをPostScriptまたはPDFに変換する場合など、内容だけが重要で、ナビゲーションの必要がない場合に便利です。 --no-platform-links- プラットフォームのドキュメントへのリンクの生成を防止します。 これらのリンクはデフォルトで生成されます。
-noqualifiername1,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コメントにタイムスタンプが隠されます。
-notimestampオプションは、javadocツールを2つのソース・ベースで実行し、diff間の差異を取得する場合に便利です。これは、タイムスタンプによってdiff(そうでない場合は、すべてのページのdiffになります)が発生しないようにするためです。 タイムスタンプには、javadocツールのリリース番号が含まれます。 -notree- 生成された文書からクラスおよびインタフェースの階層ページを除外します。 これらのページには、ナビゲーション・バーの「ツリー」ボタンからアクセスできます。 デフォルトでは、階層が生成されます。
--override-methods(detail|summary)-
詳細または要約セクション内のオーバーライドされるメソッドをドキュメント化します。 デフォルトは
detailです。 -overviewfilename-
javadocツールで、filenameで指定されたソース・ファイルから概要ドキュメントのテキストを取得し、概要ページ(overview-summary.html)に配置するように指定します。 ファイル名で指定された相対パスは、現在の作業ディレクトリからの相対パスです。filename値には任意の名前を使用し、パスに必要な任意の場所に配置できますが、通常、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に配置できます
概要ページは、2つ以上のパッケージ名を
javadocツールに渡す場合にのみ作成されます。 概要ページのタイトルは、-doctitleによって設定されます。 -serialwarn-
@serialタグがない場合は、コンパイル時に警告を生成します。 デフォルトでは、Javadocはシリアル警告を生成しません。 このオプションを使用すると、直列化の警告が表示されるので、デフォルトの直列化可能フィールドとwriteExternalメソッドを適切にドキュメント化するのに役立ちます。 --sincerelease(,release)*-
指定したreleaseで追加または新しく非推奨になったAPIのドキュメントを生成します。
ドキュメント化ソース・コードの要素の
javadocコメントの@sinceタグが、オプション引数として渡されたreleaseと一致する場合、要素および追加されたリリースに関する情報が"新規API"ページに含まれます。"非推奨API"ページが生成され、ドキュメント化された要素の
java.lang.Deprecated注釈のsince要素がオプション引数のreleaseと一致する場合、要素が非推奨となったリリースに関する情報が"非推奨API"ページに追加されます。リリースは、大/小文字を区別する文字列比較を使用して比較されます。
--since-labeltext- "新規API"ページの見出しで使用するtextを指定します。 これには、ページに含まれるリリースに関する情報("リリース2.0の新しいAPI"、"リリース1以降の新しいAPI"など)が含まれる場合があります。
--snippet-pathsnippetpathlist-
外部スニペットのファイルを検索するための検索パスを指定します。 スニペット・パス・リストには、プラットフォーム・パス・セパレータ(Windowsでは
;、他のプラットフォームでは:。)で区切って複数のパスを含めることができます 標準ドックレットでは、まずスニペットを含むパッケージのsnippet-filesサブディレクトリを検索し、次に指定されたリスト内のすべてのディレクトリを検索します。 -sourcetabtab-length- ソース内の各タブが使用する空白文字の数を指定します。
--spec-base-urlurl-
外部仕様へのリンクを生成するときに使用する、
@specタグの相対URLのベースURLを指定します。 絶対URLまたは相対URLのいずれかを指定できます。この場合、生成された出力ファイルのベース・ディレクトリに対して相対的に評価されます。 デフォルト値は{@docRoot}/../specsと同等です。 -splitindex- 索引ファイルをアルファベットごとに複数のファイルに分割し、文字ごとに1つのファイルと、アルファベット以外の記号で始まる索引エントリ用に1つのファイルを作成します。
-tagname:locations:header-
単一引数のカスタム・タグを指定します。
javadocツールでタグ名をスペル・チェックするには、ソース・コードに存在するカスタム・タグごとに-tagオプションを含めることが重要です。(withX)は、現在の実行で出力されていないタグを無効化します。 コロン(:)は常にセパレータです。 タグ名にコロンを含めるには、バックスラッシュ(\)でエスケープします。-tagオプションは、タグ見出しheaderを太字で出力し、次の行に1つの引数からのテキストを出力します。 ブロック・タグと同様、この引数のテキストにはインライン・タグを含めることができます。このインライン・タグも解釈されます。 出力は、引数を1つ取る標準のタグ(@return、@authorなど)の出力とよく似ています。 header値を省略すると、nameが見出しになります。locationsは、タグを使用できる宣言の種類を指定する文字のリストです。 次の文字を大文字または小文字で使用できます:A: すべての宣言C: コンストラクタF: フィールドM: モジュールO:doc-filesサブディレクトリの概要ページおよびその他のドキュメント・ファイルP: パッケージS: モジュールT: タイプ (クラスとインタフェース)X: どこにも: タグは無効であり、無視されます
コマンド行でタグが指定される順序は、生成された出力でタグが表示される順序として使用されます。 locationsまたはheaderを指定せずに
-tagオプションを使用すると、コマンド行で指定された順序で標準タグを含めることができます。 -tagletclass-
そのタグのドキュメントの生成に使用されるタグ・レットの完全修飾名を指定します。 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オプションを使用することもできますが、読みにくくなる場合があります。 -tagletpathtagletpathlist-
タグレットのクラス・ファイルの検索パスを指定します。 tagletpathlistには、プラットフォーム・パス・セパレータ(Windowsでは
;、他のプラットフォームでは:。)と分離することで、複数のパスを含めることができますjavadocツールは、指定されたパスのすべてのサブディレクトリを検索します。 -tophtml-code- 各出力ファイルの最上部に配置するテキストを指定します。
-use-
クラスとパッケージの使用ページを作成します。 ドキュメント化されるクラスおよびパッケージごとに1つの「使用」ページを組み込みます。 このページには、その特定のクラスまたはパッケージのAPIを使っているパッケージ、クラス、メソッド、コンストラクタ、およびフィールドが記述されます。 たとえば、クラスCを例にとると、クラスCを使っているものとしては、Cのサブクラス、Cとして宣言されているフィールド、Cを返すメソッド、および、型Cのパラメータを持つメソッドとコンストラクタがあります。 たとえば、
String型の「使用」ページを見てみましょう。java.awt.FontクラスのgetNameメソッドはString型を返すため、getNameメソッドはStringを使用するため、getNameメソッドはStringのUseページに表示されます。 これは、実装ではなく、APIの使用のみを示しています。 メソッドが実装でStringを使用していても、引数として文字列を取らないか、文字列を戻さない場合、これはStringの使用とはみなされません。生成された「使用」ページにアクセスするには、クラスまたはパッケージに移動し、ナビゲーション・バーの「使用」リンクをクリックします。 -version-
生成されたドキュメントにバージョン・テキストを含めます。 このテキストは、デフォルトでは省略されます。 使用している
javadocツールのバージョンを確認するには、-J-versionオプションを使用します。 -windowtitletitle-
HTMLの
<title>タグに配置するタイトルを指定します。titleタグに指定されたテキストは、ウィンドウのタイトルや、このページに対して作成されたブラウザのブックマーク(お気に入り)に表示されます。 ブラウザが正しく解釈されないため、このタイトルにHTMLタグを含めることはできません。titleタグ内の内部引用符には、エスケープ文字を使用してください。-windowtitleオプションを省略すると、javadocツールは-windowtitleオプションに-doctitleオプションの値を使用します。 たとえば、javadoc -windowtitle "My Library" com.mypackageです。
標準ドックレットの追加オプション
標準ドックレットで提供される追加オプションを次に示します。予告なく変更される場合があります。 追加のオプションはあまり使用されないか、拡張とみなされます。
--datedate-and-time-
生成されたページのタイムスタンプに使用される値をISO 8601形式で指定します。 指定する値は、現在の日時から10年以内である必要があります。
-notimestampと--dateの両方を指定するとエラーになります。 特定の値を使用すると、生成されたドキュメントを「再現可能ビルド」に含めることができます。 このオプションを指定しない場合、デフォルト値は現在の日付と時間になります。 たとえば:javadoc --date 2022-02-01T17:41:59-08:00 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を参照してください。
-Xdocrootparenturl-
ドキュメント・コメントのすべての
@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つの文字列を確認して認識します。
doclintdoclint: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では、欠落したリンクやユーザー指定のカスタム・タグ・レットのエラー、標準ドックレット自体の問題などの問題をレポートできません。 また、ドキュメント・コメントのコンテンツとカスタム・タグ・レットによって生成されたコンテンツ間の境界でドキュメント・コメントのエラーを確実に検出できません。