非推奨: javadoc2タスクは単にjavadocタスクを指すだけであり、後方互換性のために存在しています。このタスクは将来のバージョンで削除される予定ですので、代わりにjavadocを使用することを強くお勧めします。
javadocツールを使用してコードドキュメントを生成します。
ソースディレクトリは、処理対象となるJavaソースファイルを探して再帰的にスキャンされますが、インクルールールに一致し、除外ルールに一致しないもののみがjavadocツールに渡されます。これにより、ワイルドカードを使用してパッケージ名を選択できるため、冗長さを減らし、時間の経過に伴う管理コストを削減できます。ただし、このタスクにはjavacタスクとは異なり、「変更された」ファイルの概念はありません。つまり、このタスクが実行されるたびにすべてのパッケージが処理されます。ただし、一般的に、このタスクの使用頻度ははるかに低いです。
注:javadocはSystem.exit()を呼び出すため、機能を壊さずにApache Antと同じJVM内でjavadocを実行することはできません。このため、このタスクは常にJVMをフォークします。javadocは通常、負荷の高いアプリケーションであり、呼び出される頻度が少ないため、このオーバーヘッドはそれほど大きくありません。
注:packagelist属性を使用すると、Antファイルの外でドキュメント化するパッケージのリストを指定できます。すべてのものをbuild.xmlファイル内に含める方がはるかに良い方法です。このオプションは、javadocのこのオプションを使用する通常のMakefileからの移行を容易にするために追加されました。packagelistにリストされているパッケージはチェックされないため、一部のパッケージが欠落または破損していてもタスクは実行されます。既存のMakefileから変換する場合は、このオプションを使用してください。実行が開始されたら、通常の表記法に切り替える必要があります。
注:アノテーションを含むクラスのJavaDocsを生成するときに、java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImplが発生する場合があります。これはバグ6442982が原因です。原因は、javadocが使用されているアノテーションの実装を見つけられないことです。回避策は、JAXBの@XmlTypeなどの実装を含むJARを、classpath、classpathref属性、またはネストされた<classpath>要素を使用して<javadoc>に提供することです。
注:javadocの実行に関する多くの問題は、コマンドラインが長くなりすぎたことに起因します。エラーメッセージにはこれが問題であるというヒントはまったくありませんが。タスクで問題が発生した場合は、最初にuseexternalfile属性をtrue
に設定してみてください。
javadocがソースを検索する場所を指定する方法を複数使用すると、結果は指定されたすべてのドキュメントの結合になります。たとえば、sourcepath属性と、同じディレクトリを指すネストされたpackagesetの両方を指定した場合、excludepackagenames属性は、packagesetのexcludeパターンと一致しない限り効果がありません(逆もまた同様)。
| 属性 | 説明 | 必須 |
|---|---|---|
| sourcepath | ソースファイルを見つける場所を指定します | 4つのうち少なくとも1つ、またはネストされた<sourcepath>、<fileset>、module、または<packageset> |
| sourcepathref | 別の場所で定義されたsourcepathへの参照によって、ソースファイルを見つける場所を指定します。 | |
| sourcefiles | カンマ区切りのソースファイルリスト。ネストされたsource要素も参照してください。 |
|
| modulenames | カンマ区切りのモジュール名リスト。ネストされたmodule要素も参照してください。Ant 1.10.6以降 |
|
| destdir | 出力ファイルの出力先ディレクトリ | docletが指定されていない場合は必須。 |
| maxmemory | javadoc JVMに割り当てる最大メモリ量 | いいえ |
| packagenames | カンマ区切りのパッケージファイルリスト(末尾にワイルドカード付き)。ネストされたpackage要素も参照してください。 |
いいえ |
| packageList | 処理するパッケージを含むファイルの名前 | いいえ |
| classpath | ユーザーのクラスファイルを見つける場所を指定します | いいえ |
| Bootclasspath | ブートストラップクラスローダーによってロードされるクラスファイルの場所を上書きします | いいえ |
| classpathref | 別の場所で定義されたclasspathへの参照によって、ユーザーのクラスファイルを見つける場所を指定します。 | いいえ |
| bootclasspathref | 別の場所で定義されたbootclasspathへの参照によって、ブートストラップクラスローダーによってロードされるクラスファイルの場所を上書きします。 | いいえ |
| Extdirs | インストールされた拡張機能の場所を上書きします | いいえ |
| Overview | HTMLファイルから概要ドキュメントを読み取ります | いいえ |
| access | アクセスモード:public、 protected、 package、または privateのいずれか |
いいえ。デフォルトはprotectedです。 |
| Public | パブリッククラスとメンバーのみを表示します | いいえ |
| Protected | 保護された/パブリッククラスとメンバーを表示します(デフォルト) | いいえ |
| Package | パッケージ/保護された/パブリッククラスとメンバーを表示します | いいえ |
| Private | すべてのクラスとメンバーを表示します | いいえ |
| Old | JDK 1.1エミュレートドックレットを使用して出力を生成します。 注:この属性は、JDK 1.4より前の外部javadocを使用している場合を除き、効果はありません |
いいえ |
| Verbose | javadocが何をしているかに関するメッセージを出力します | いいえ |
| Locale | 使用するロケール。例:en_USまたは en_US_WIN |
いいえ |
| Encoding | ソースファイルエンコーディング名 | いいえ |
| Version | @versionパラグラフを含めます |
いいえ |
| Use | クラスおよびパッケージの使用状況ページを作成します | いいえ |
| Author | @authorパラグラフを含めます |
いいえ |
| Splitindex | インデックスを文字ごとに1つのファイルに分割します | いいえ |
| Windowtitle | ドキュメントのブラウザウィンドウタイトル(テキスト) | いいえ |
| Doctitle | パッケージインデックス(最初)ページのタイトル(HTMLコード)を含めます | いいえ |
| Header | 各ページのヘッダーテキスト(HTMLコード)を含めます | いいえ |
| Footer | 各ページのフッターテキスト(HTMLコード)を含めます | いいえ |
| bottom | 各ページの下部テキスト(HTMLコード)を含めます | いいえ |
| link | 指定されたURLのjavadoc出力へのリンクを作成します。ネストされたlink要素も参照してください。 |
いいえ |
| linkoffline | urlのドキュメントへのリンクを、alt-urlのパッケージリストを使用して、値url alt-url(区切り文字としてスペース)を指定して作成します。ネストされた link要素の短縮形(offline=true)。 |
いいえ |
| group | 概要ページで指定されたパッケージをグループ化します。形式は下記で説明されています。ネストされたgroup要素も参照してください。 |
いいえ |
| nodeprecated | @deprecated情報を含めません |
いいえ |
| nodeprecatedlist | 非推奨リストを生成しません | いいえ |
| notree | クラス階層を生成しません | いいえ |
| noindex | インデックスを生成しません | いいえ |
| nohelp | ヘルプリンクを生成しません | いいえ |
| nonavbar | ナビゲーションバーを生成しません | いいえ |
| serialwarn | @serialタグに関する警告を生成します |
いいえ |
| helpfile | 使用するHTMLヘルプファイルを指定します | いいえ |
| stylesheetfile | 使用するCSSスタイルシートを指定します | いいえ |
| charset | 生成されたドキュメントをクロスプラットフォームで表示するための文字セット | いいえ |
| docencoding | 出力ファイルエンコーディング名 | いいえ |
| doclet | ドキュメントの生成に使用されるドックレットを開始するクラスファイルを指定します。ネストされたdoclet要素も参照してください。 |
いいえ |
| docletpath | -docletオプションで指定されたドックレットクラスファイルへのパスを指定します。 | いいえ |
| docletpathref | 別の場所で定義されたパスへの参照によって、-docletオプションで指定されたドックレットクラスファイルへのパスを指定します。 | いいえ |
| additionalparam | javadocコマンドラインに追加のパラメーターを追加できます。ドックレットに役立ちます。スペースを含むパラメーターは、"を使用して引用符で囲む必要があります。ネストされたarg要素も参照してください。 |
いいえ |
| failonerror | コマンドが0以外のリターンコードで終了した場合、ビルドプロセスを停止します。 |
いいえ |
| failonwarning | 警告が出力された場合、つまり、javadocの出力にwarningという単語が含まれている場合、ビルドプロセスを停止します。Ant 1.9.4以降 |
いいえ |
| excludepackagenames | ドキュメントを作成したくないパッケージのカンマ区切りリスト。ネストされたexcludepackage要素も参照してください。 |
いいえ |
| defaultexcludes | デフォルトの除外を使用するかどうかを示します(yes|no)。 |
いいえ。デフォルトはyesです |
| useexternalfile | srcfilesまたはネストされたsource要素で指定されたソースファイル名を一時ファイルに書き込み、コマンドラインを短くするかどうかを示します。packagenames属性またはネストされたpackage要素を介して指定されたパッケージ名にも適用されます。Ant 1.7.0以降、他のすべてのコマンドラインオプションにも適用されます。(yes|no)。 有効にすると、ファイルは一時ディレクトリに書き込まれます。 |
いいえ。デフォルトはnoです |
| source | javadocがJava言語機能を処理できるようにします。javac -source 1.4を使用してコンパイルするコードをドキュメント化するには、これを1.4に設定します。 |
いいえ。デフォルトはマジックant.build.javac.sourceプロパティを使用して指定できます。 |
| linksource | ソースファイルへのハイパーリンクを生成します。Ant 1.6以降。(yes|no)。 |
いいえ。デフォルトはnoです |
| breakiterator | 新しいブレークイテレーターアルゴリズムを使用します。Ant 1.6以降。(yes|no)。 |
いいえ。デフォルトはnoです |
| noqualifier | -noqualifier引数を有効にします。allであるか、コロンで区切られたパッケージのリストである必要があります。Ant 1.6以降。 |
いいえ |
| includenosourcepackages | trueに設定すると、Javaソースを含まないが、package.htmlを含むパッケージもドキュメント化されます。Ant 1.6.3以降。 |
いいえ。デフォルトはfalseです |
| executable | デフォルトのバイナリ(Antが実行されているJDKと同じJDKにある)の代わりに、使用する特定のjavadoc実行可能ファイルを指定します。Ant 1.6.3以降。注:このコマンドが使用したい属性をサポートしていることを確認するのはユーザーの責任です。 | いいえ |
| docfilessubdirs | doc-filesサブディレクトリのディープコピーを有効にします。Ant 1.8.0以降。 | いいえ。デフォルトはfalseです |
| excludedocfilessubdir | docfilessubdirsがtrueの場合に除外するdoc-filesサブディレクトリのコロン区切りリスト。Ant 1.8.0以降。 | いいえ |
| postProcessGeneratedJavadocs | CVE-2013-1571を軽減するために、生成されたjavadocを後処理するかどうか。Ant 1.9.2以降 Java 7 update 25より前のOracle JDKで生成されたjavadocには、フレームインジェクション攻撃が可能です(詳細)。このフラグが trueに設定されている場合、Antはドキュメントが脆弱であるかどうかを確認し、修正を試みます。 |
いいえ。デフォルトはtrueです |
| modulesourcepath | モジュールソースファイルを見つける場所を指定しますAnt 1.10.6以降 | いいえ |
| modulesourcepathref | 別の場所で定義されたPATHへの参照によって、モジュールソースファイルを見つける場所を指定します。Ant 1.10.6以降 | いいえ |
| modulepath | モジュールファイルを見つける場所を指定しますAnt 1.10.6以降 | いいえ |
| modulepathref | 別の場所で定義されたPATHへの参照によって、モジュールファイルを見つける場所を指定します。Ant 1.10.6以降 | いいえ |
引数はカンマ区切りです。各単一の引数は2つのスペース区切りの文字列で、最初の文字列はグループのタイトルであり、2番目の文字列はコロン区切りのパッケージリストです。
複数のグループ、またはタイトルにカンマやスペース文字が含まれているグループを指定する必要がある場合は、ネストされたgroup要素を使用することを強くお勧めします。
例:
group="XSLT_Packages org.apache.xalan.xslt*,XPath_Packages org.apache.xalan.xpath*"
DirSet。Javaソースファイルを含む一致するすべてのディレクトリは、パッケージ名としてjavadocに渡されます。パッケージ名は、ディレクトリ区切り文字をドットに変換することにより、ディレクトリ名から作成されます。Antは、packagesetのベースディレクトリがパッケージ階層のルートを指していると想定します。
タスクのpackagenames、excludepackagenames、およびdefaultexcludes属性は、ネストされた<packageset>要素には影響しません。
FileSetです。マッチしたすべてのファイルがソースファイルとしてjavadocに渡されます。Antは、これらのファイルセットに、インクルードパターン**/*.java(およびincludenosourcepackagesがtrue
の場合は**/package.html)を自動的に追加します。
ネストされたファイルセットは、デフォルトパッケージにあるソースをドキュメント化したり、特定のファイルをドキュメントから除外したりする場合に使用できます。すべてのソースファイルをドキュメント化し、デフォルトパッケージを使用しない場合は、代わりにpackagesetを使用する必要があります。これにより、javadocのパフォーマンスが向上します。
タスクのpackagenames、excludepackagenames、およびdefaultexcludes属性は、ネストされた<fileset>要素には影響しません。
任意のファイルシステムベースのリソースコレクションのコンテナです。ネストされたコレクション(ネストされたファイルセット、ファイルリスト、またはパスを含む)に含まれるすべてのファイルが、ソースファイルとしてjavadocに渡されます。
packagenamesで指定されたリストの1つのエントリと同じです。
| 属性 | 説明 | 必須 |
|---|---|---|
| name | パッケージ名(ワイルドカード可) | はい |
excludepackagenamesで指定されたリストの1つのエントリと同じです。
packageの場合と同じです。Ant 1.10.6以降
modulenamesで指定されたリストの1つのエントリと同じです。
| 属性 | 説明 | 必須 |
|---|---|---|
| name | モジュール名 | はい |
sourcefilesで指定されたリストの1つのエントリと同じです。
| 属性 | 説明 | 必須 |
|---|---|---|
| file | ドキュメント化するソースファイル | はい |
doctitle属性と同じですが、このように要素内にテキストをネストできます。
ネストされたテキストに改行が含まれている場合は、useexternalfile属性を使用し、true
に設定する必要があります。
<doctitle>と同様です。
<doctitle>と同様です。
<doctitle>と同様です。
指定されたURLでjavadoc出力へのリンクを作成します。これは、linkおよびlinkoffline属性と同じ役割を果たします。どちらの構文(または両方を同時に)使用できますが、ネストされた要素を使用すると、引数の複数の出現を簡単に指定できます。
| 属性 | 説明 | 必須 |
|---|---|---|
| href | リンク先の外部ドキュメントのURL。これは絶対URL、または相対ファイル名にすることができます。 | はい |
| offline | ドキュメントを生成する時点で、このリンクがオンラインで利用できない場合はtrue |
いいえ |
| packagelistLoc | 外部ドキュメントのpackage-listファイルを含むディレクトリの場所 | offline属性がtrueの場合の2つのうちの1つ |
| packagelistURL | 外部ドキュメントのpackage-listファイルを含むディレクトリのURL | |
| resolveLink | link属性が相対ファイル名の場合、Antは最初に現在のプロジェクトのbasedirを基準にしてファイルを検索し、そこでファイルが見つかった場合はlink属性に絶対URLを使用します。それ以外の場合は、ファイル名をそのままjavadocコマンドに渡します。 | いいえ。デフォルトはfalseです |
指定したグループごとに1つのテーブルで、概要ページのパッケージを区切ります。これは、group属性と同じ役割を果たします。どちらの構文(または両方を同時に)使用できますが、ネストされた要素を使用すると、引数の複数の出現を簡単に指定できます。
| 属性 | 説明 | 必須 |
|---|---|---|
| title | グループのタイトル | ネストされた<title>が指定されていない限り、はい |
| packages | そのグループに含めるパッケージのリスト。複数のパッケージは:で区切られます。 |
ネストされた<package>が指定されていない限り、はい |
タイトルは、テキストコンテンツを持つネストされた<title>要素として指定でき、パッケージはメインタスクと同様にネストされた<package>要素でリストできます。
docletネスト要素は、javadocが入力ソースファイルを処理するために使用するドックレットを指定するために使用されます。標準のjavadoc引数の多くは、実際には標準ドックレットの引数です。これらがjavadocタスクの属性で指定されている場合、<doclet>ネスト要素で指定されたドックレットに渡されます。したがって、このような属性は、使用中のドックレットで解釈できる場合にのみ指定する必要があります。
ドックレットに追加のパラメーターが必要な場合は、<doclet>要素内の<param>要素で指定できます。これらのパラメーターは単純な文字列に制限されます。doclet要素の使用例を以下に示します。
<javadoc ... >
<doclet name="theDoclet"
path="path/to/theDoclet">
<param name="-foo" value="foovalue"/>
<param name="-bar" value="barvalue"/>
</doclet>
</javadoc>
タグが出力される順序を決定するために、ネストされたtag要素を使用して標準タグを指定する場合は、これらのタグにdescription属性を設定しないでください。
| 属性 | 説明 | 必須 |
|---|---|---|
| name | タグの名前(例:todo) |
dir属性が指定されていない限り、はい |
| description | タグの説明(例:To do:) |
いいえ。指定されていない場合は、javadoc実行可能ファイルがデフォルトを選択します |
| enabled | タグが有効かどうか | いいえ。デフォルトはtrueです |
| scope | タグのスコープ—タグを使用できる要素。これは、overview、 packages、 types、 constructors、 methods、 fields、またはデフォルトの allなどの要素のコンマ区切りリストです。 |
いいえ。デフォルトはall |
| dir | この属性が指定されている場合、この要素は暗黙的なfilesetとして動作します。このファイルセットに含まれるファイルには、Javadocリファレンスガイドで説明されているように、各タグ定義が別々の行に含まれている必要があります。ejb.bean:t:XDoclet EJB Tag todo:a:To Do注意:Javadocリファレンスガイドには、定義の説明部分を囲む二重引用符があります。これは、ファイルで使用する場合、定義がjavadocプログラムに渡されるときに再度引用符で囲まれるため、機能しません。 注意:この属性が指定されている場合、この要素の他のすべての属性は無視されます。 |
いいえ |
tagletネスト要素は、デフォルトのタグレット以外のカスタムタグレットを指定するために使用されます。
| 属性 | 説明 | 必須 |
|---|---|---|
| name | タグレットクラスの名前(例:com.sun.tools.doclets.ToDoTaglet) |
はい |
| path | タグレットクラスの検索パスを指定するパス(例:/home/taglets)。パスは、ネストされた<path>要素で指定することもできます。 |
いいえ |
Javadocのsourcepath、classpath、bootclasspath、modulepath、およびmodulesourcepath属性は、PATHのような構造であり、ネストされたsourcepath、classpath、bootclasspath、modulepath、およびmodulesourcepath要素をそれぞれ介して設定することもできます。
Ant 1.6以降
ネストされた<arg>を使用して、追加の引数を指定します。コマンドライン引数を参照してください。
<javadoc packagenames="com.dummy.test.*"
sourcepath="src"
excludepackagenames="com.dummy.test.doc-files.*"
defaultexcludes="yes"
destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Test API">
<doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Group 1 Packages" packages="com.dummy.test.a*"/>
<group title="Group 2 Packages" packages="com.dummy.test.b*:com.dummy.test.c*"/>
<link offline="true" href="https://docs.oracle.com/javase/8/docs/api/" packagelistLoc="C:\tmp"/>
<link href="https://docs.oracle.com/javase/8/docs/api/"/>
</javadoc>
は、次と同じです
<javadoc destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Test API">
<packageset dir="src" defaultexcludes="yes">
<include name="com/dummy/test/**"/>
<exclude name="com/dummy/test/doc-files/**"/>
</packageset>
<doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Group 1 Packages" packages="com.dummy.test.a*"/>
<group title="Group 2 Packages" packages="com.dummy.test.b*:com.dummy.test.c*"/>
<link offline="true" href="https://docs.oracle.com/javase/8/docs/api/" packagelistLoc="C:\tmp"/>
<link href="https://docs.oracle.com/javase/8/docs/api/"/>
</javadoc>
または
<javadoc destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Test API">
<fileset dir="src" defaultexcludes="yes">
<include name="com/dummy/test/**"/>
<exclude name="com/dummy/test/doc-files/**"/>
</fileset>
<doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Group 1 Packages" packages="com.dummy.test.a*"/>
<group title="Group 2 Packages" packages="com.dummy.test.b*:com.dummy.test.c*"/>
<link offline="true" href="https://docs.oracle.com/javase/8/docs/api/" packagelistLoc="C:\tmp"/>
<link href="https://docs.oracle.com/javase/8/docs/api/"/>
</javadoc>