一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

javadoc- Java API 文檔生成器

 figol 2006-09-01

javadoc - Java API 文檔生成器

從 Java 源文件生成 API 文檔 HTML 頁(yè)。


目錄


結(jié)構(gòu)

javadoc [ options ] [ packagenames ] [ sourcefiles ] [ @files ]

參數(shù)可按任意次序排列。

options
命令行選項(xiàng),如本文檔中所指定。要了解 javadoc 選項(xiàng)的典型用法,參見實(shí)際示例
packagenames
一系列包的名字,用空格分隔,例如 java.lang java.lang.reflect java.awt。必須分別指定想要為之建立文檔的每一個(gè)包。Javadoc 不遞歸地作用于子包。不允許使用通配符,如(*)。參見示例 - 建立包的文檔
sourcefiles
一系列源文件名,用空格分隔。源文件名可包括路徑和通配符如(*)。例如:Button.java /home/src/java/awt/Graphics*.java 參見示例 - 建立類的文件。還可混合包名和源文件,如 示例 - 建立包和類的文檔 中所示。
@files
以任何次序包含包名和源文件的一個(gè)或多個(gè)文件。


說(shuō)明

Javadoc 解析 Java 源文件中的聲明和文檔注釋,并產(chǎn)生相應(yīng)的 HTML 頁(yè)(缺?。枋龉蓄?、保護(hù)類、內(nèi)部類、接口、構(gòu)造函數(shù)、方法和域。

可對(duì) 整個(gè)包、單個(gè)源文件二者 運(yùn)行 Javadoc。在第一種情況中,將一系列包名作為參數(shù)傳遞給 javadoc。在第二種情況中,傳遞一系列源(.java)文件名。在本文檔最后給出了 示例。

在實(shí)現(xiàn)時(shí),Javadoc 要求且依賴于 java 編譯器完成其工作。Javadoc 調(diào)用部分 javac 編譯聲明部分,忽略成員實(shí)現(xiàn)。它建立類的內(nèi)容豐富的內(nèi)部表示,包括類層次和“使用”關(guān)系,然后從中生成 HTML。Javadoc 還從源代碼的 文檔注釋 中獲得用戶提供的文檔。

實(shí)際上,Javadoc 將在不帶方法體的純 stub 文件的 .java 源文件上運(yùn)行。這意味著可以創(chuàng)建 API 的最早期階段,在編寫任何代碼之前,就可編寫文檔注釋并運(yùn)行 Javadoc。

依賴編譯器可以確保 HTML 輸出完全對(duì)應(yīng)于實(shí)際實(shí)現(xiàn),這些實(shí)現(xiàn)可能有賴于隱式的(而非顯式的)源代碼。例如,Javadoc 將建立在 .class 文件中存在但在源代碼中不存在的 缺省構(gòu)造函數(shù)Java 語(yǔ)言規(guī)范 的第 8.6.7 節(jié))的文檔。

當(dāng) Javadoc 建立其內(nèi)部文檔結(jié)構(gòu)時(shí),它將加載所有引用的類。由于這一點(diǎn),Javadoc 必須能查找到所有引用的類,包括引導(dǎo)類、擴(kuò)展類和用戶類。有關(guān)詳細(xì)信息,參見如何查找類。一般而言,所創(chuàng)建的類必須加載為擴(kuò)展或位于 Javadoc 的類路徑中。

Javadoc Doclets

可使用 doclets 自定義 Javadoc 輸出的內(nèi)容和格式。Javadoc 具有一個(gè)缺省的“內(nèi)嵌”doclet,叫作標(biāo)準(zhǔn) doclet,它生成 HTML-格式的 API 文檔。用戶可修改或擴(kuò)展標(biāo)準(zhǔn) doclet,或編寫自己的 doclet 以生成 HTML、XML、MIF、RTF 或想要的任何輸出格式。關(guān)于 doclets 及其用法的信息位于下列位置:

當(dāng)沒有用 -doclet 命令行選項(xiàng)指定自定義 doclet 時(shí),Javadoc 將使用缺省的標(biāo)準(zhǔn) doclet。不管使用哪個(gè) doclet,javadoc 工具都有幾個(gè)命令行選項(xiàng)可用。標(biāo)準(zhǔn) doclet 還添加了額外的命令行選項(xiàng)集。二個(gè)選項(xiàng)集都將在下面的 選項(xiàng) 一節(jié)中介紹。

相關(guān)文檔

  • 有關(guān) Javadoc 1.2 中增強(qiáng)功能的詳細(xì)信息,參見 Javadoc 增強(qiáng)。
  • 有關(guān)常問(wèn)問(wèn)題的答案、關(guān)于 Javadoc 相關(guān)工具的信息以及 bug 的解決方案,參見 Javadoc FAQ。
  • 有關(guān)如何編寫文檔注釋的信息,參見 如何為 Javadoc 編寫文檔注釋

術(shù)語(yǔ)

在 Javadoc 環(huán)境中,有些術(shù)語(yǔ)具有特定的意義:

生成的文檔
由 javadoc 工具根據(jù) Java 源代碼中文檔注釋生成的文檔。缺省的生成文檔是 HTML 格式,并由標(biāo)準(zhǔn) doclet 生成。

名字
Java 語(yǔ)言中的名字,通常為包、類、接口、域、構(gòu)造函數(shù)或方法的名字。名字可以是完全限定的,例如 java.lang.String.equals(java.lang.Object),也可是部分限定的,例如 equals(Object)。

帶文檔的類
在 javadoc 運(yùn)行期間為之生成了全部文檔的類和接口。要生成文檔,源文件必須可用,并且其源文件名或包名必須傳遞到 javadoc 命令中。我們還將這些類稱為在 javadoc 運(yùn)行中包含的類,或包含的類。

引用類
在帶文檔的類和接口的定義(實(shí)現(xiàn))中顯式引用的類和接口。引用的例子包括返回類型、參數(shù)類型、強(qiáng)制轉(zhuǎn)換類型、已實(shí)現(xiàn)接口、導(dǎo)入類,等等。在文檔注釋(例如 @see 標(biāo)記)中引用的類不算作引用類。當(dāng) Javadoc 運(yùn)行時(shí),它將 javadoc 引導(dǎo)類路徑和類路徑中所有的引用類加載到內(nèi)存中(對(duì)于沒有找到的引用類,Javadoc 將顯示“類未找到”警告信息)。 Javadoc 可從類文件中獲得足夠的信息,以確定其存在性及其成員的全限定名字。

外部引用類
在 javadoc 運(yùn)行期間沒有生成其文檔的引用類。也就是說(shuō),這些類對(duì)于該次 javadoc 運(yùn)行是外部的。文檔中名字到這些類的鏈接稱為外部引用外部鏈接。例如,如果僅對(duì) java.awt 包運(yùn)行 javadoc,則 java.lang 中的任何類(如 Object)都是外部引用類??墒褂?-link 選項(xiàng)鏈接外部引用類。


源文件

Javadoc 將根據(jù)四種不同的“源”文件生成輸出: Java 語(yǔ)言源文件(.java)、包注釋文件、概述注釋文件和其他未處理文件。下面介紹了后三種類型。

包注釋文件

每個(gè)包具有它自己的文檔注釋,保存在其自己的“源”文件中,Javadoc 將把它合并到生成的包概覽頁(yè)中。通常可在這個(gè)注釋中包括適用于整個(gè)包的任何文檔。

要?jiǎng)?chuàng)建包注釋文件,必須將它命名為 package.html 并將它與 .java 文件一起放在源樹中的包目錄中。Javadoc 將自動(dòng)在該位置查找該文件名。注意該文件名對(duì)于所有包都是相同的。

包注釋文件的內(nèi)容是一個(gè)大文檔注釋,用 HTML 編寫,像所有其他注釋一樣,但有一個(gè)例外: 文檔注釋不應(yīng)該包括注釋分隔符 /***/ 或前導(dǎo)星號(hào)。在編寫注釋時(shí),第一句應(yīng)該是關(guān)于包的概覽,并且在 <body> 和第一句之間不應(yīng)該插入任何標(biāo)題或其他文本。可包括 package 標(biāo)記;與所有文檔注釋一樣,除了 {@link} 之外的所有標(biāo)記都應(yīng)該位于描述之后。如果添加 @see 標(biāo)記,則它必須是全限定名字。

當(dāng) Javadoc 運(yùn)行時(shí),它將自動(dòng)查找該文件;如果找到,則 Javadoc 做下列事情:

  • 復(fù)制 <body></body> 標(biāo)記之間的全部?jī)?nèi)容以進(jìn)行處理。
  • 處理存在的任何包標(biāo)記。
  • 在它生成的包概覽頁(yè)底部插入處理后的文本,例如 包概覽。
  • 將包注釋的第一句復(fù)制到包概覽頁(yè)和概述頁(yè)(例如概述概覽)的頂部。確定語(yǔ)句結(jié)尾用的規(guī)則相同確定類和成員描述第一個(gè)語(yǔ)句的相同規(guī)則確定。

概述注釋文件

每個(gè)要為之建立文檔的應(yīng)用程序或包集可以有它自己的概述文檔注釋,保存在其自己的“源”文件中,Javadoc 將把它合并到生成的概述頁(yè)中。在該注釋中通常可包括適用于整個(gè)應(yīng)用程序或包集的任何文檔。

要?jiǎng)?chuàng)建概述注釋文件,可將該文件命名為想要的任何名字(通常為 overview.html)并將它放置在任何地方(通常位于源樹的最頂層中)。注意對(duì)于相同源文件集可有多個(gè)概述注釋文件,以用于對(duì)不同包集多次運(yùn)行 javadoc。例如,如果 java.applet 包的源文件包含在 C:\user\src\java\applet 目錄中,則可創(chuàng)建概述注釋文件 C:\user\src\overview.html。

概述注釋文件的內(nèi)容是一個(gè)大文檔注釋,用 HTML 編寫,與前面介紹的包注釋文件類似。有關(guān)詳細(xì)內(nèi)容,參見描述。在編寫注釋時(shí),要重新循環(huán),第一句應(yīng)該是關(guān)于應(yīng)用程序或包集的概覽,并且在 <body> 和第一句之間不要插入標(biāo)題或任何其他文本??砂?概述標(biāo)記;與所有文檔注釋一樣,除了 {@link} 之外的所有標(biāo)記都就位于描述之后。如果添加 @see 標(biāo)記,則它必須是全限定名字。

當(dāng)運(yùn)行 Javadoc 時(shí),可用 -overview 選項(xiàng)指定概述注釋文件。然后將以與包注釋文件類似的方法處理該文件。

  • 復(fù)制 <body></body> 標(biāo)記之間的全部?jī)?nèi)容以進(jìn)行處理。
  • 處理存在任何 概述標(biāo)記。
  • 將處理過(guò)后的文本插入到生成的概述頁(yè)(例如 概述概覽)的底部。
  • 將概述注釋的第一句復(fù)制到概述概覽頁(yè)的頂部。

其他未處理文件

還可在源文件中包括想要 Javadoc 復(fù)制到目的目錄中的任何其他文件。這通常包括圖形文件、示例 Java 源文件(.java)和類文件(.class)以及其內(nèi)容遠(yuǎn)超過(guò)常規(guī) Java 源文件文檔注釋的獨(dú)立 HTML 文件。

要包括未處理文件,請(qǐng)將它們放入一個(gè)叫作 doc-files 的目錄中,它可以是任何包目錄的子目錄。每個(gè)包可以有使用一個(gè)這種子目錄。例如,如果想要在 java.awt.Button 類文檔中包含按鈕圖像 button.gif,則可將該文件放入 /home/user/src/java/awt/doc-files/ 目錄中。所有到未處理文件的鏈接都必須是硬編碼的,因?yàn)?Javadoc 不查看這些文件 -- 它只是將目錄及其全部?jī)?nèi)容復(fù)制到目的地。例如,Button.java 文檔注釋中的鏈接可能類似如下:

    /**
* 該按鈕類似如下:
* <img src="doc-files/Button.gif">
*/


生成的文件

缺省地,javadoc 使用標(biāo)準(zhǔn) doclet 生成 HTML 格式文檔。該 doclet 生成下列類型的文件(其中每個(gè) HTML “頁(yè)”相應(yīng)于一個(gè)單獨(dú)的文件)。注意 javadoc 生成具有二種名字的文件: 用類/接口命名的文件,和不用類/接口命名的文件(例如 package-summary.html)。后一組中的文件包括下劃線(以防止與前一組中的文件名沖突)。

基本內(nèi)容頁(yè)

  • 為生成其文檔的每個(gè)類或接口生成類或接口頁(yè)classname.html)。
  • 為生成其文檔的每個(gè)包生成包頁(yè)package-summary.html)。Javadoc 將在其中包含源目錄樹中包目錄中的 package.html 文件中提供的任何 HTML 文本。
  • 整個(gè)包集的概述頁(yè)overview-summary.html)。它是生成的文檔的首頁(yè)。Javadoc 將在其中包含用 -overview 選項(xiàng)指定的文件中提供的任何 HTML 文本。(注意在有些情況下未生成概述頁(yè),詳情參見 Javadoc 輸出。)

交叉參考頁(yè)

  • 整個(gè)包集的類層次頁(yè)overview-tree.html)。要查看它,可以單擊導(dǎo)航欄上的“概述”,然后單擊“樹”。
  • 整個(gè)包的類層次頁(yè)package-tree.html)。要查看它,可轉(zhuǎn)到特定包、類或接口頁(yè);單擊“樹”顯示該包的層次。
  • 每個(gè)包的“用法”頁(yè)package-use.html)和每個(gè)類和接口的單獨(dú)頁(yè)(class-use/classname.html)。該頁(yè)描述了使用給定類、接口或包的任何部分的包、類、方法、構(gòu)造函數(shù)和域。給定一個(gè)類或接口 A,其“用法”頁(yè)包括 A 的子類、聲明為 A 的域、返回 A 的方法以及具有 A 類型參數(shù)的方法和構(gòu)造函數(shù)。要訪問(wèn)該頁(yè),可首先轉(zhuǎn)到包、類或接口,然后在導(dǎo)航欄中單擊“用法”鏈接。
  • 不鼓勵(lì)使用的 API 頁(yè)deprecated-list.html),列出所有不鼓勵(lì)使用的名字。(通常由于改進(jìn)的原因不推薦使用不鼓勵(lì)使用的名字,并提供了替代的名字。不鼓勵(lì)使用的 API 在未來(lái)的實(shí)現(xiàn)中可能刪除。)
  • 序列化形式頁(yè)serialized-form.html),提供關(guān)于可序列化或可外部化類的信息。每個(gè)這種類具有其序列化域和方法的描述。該信息對(duì)于重實(shí)現(xiàn)人員有用,使用 API 的開發(fā)人員一般不感興趣。盡管在導(dǎo)航欄中沒有其鏈接,但是可通過(guò)轉(zhuǎn)到任何序列化類并單擊類描述的“參見”部分中的“序列化形式”,獲得該信息。
  • 所有類、接口、構(gòu)造函數(shù)、域及方法名的 索引index-*.html),按字母次序排列。它為 Unicode 進(jìn)行了國(guó)際化,并可生成為單個(gè)文件或?yàn)槊總€(gè)開始字符(例如英語(yǔ)中的 A - Z)生成一個(gè)單獨(dú)的文件。

支持文件

  • 幫助頁(yè)help-doc.html),它描述導(dǎo)航欄和上述各頁(yè)??墒褂?-helpfile 用自己的自定義幫助文件覆蓋缺省幫助文件。
  • index.html 文件,創(chuàng)建用于顯示的 HTML 框架。加載該文件可以用框架顯示頭版。該文件本身不包含文本內(nèi)容。
  • 包含包、類和接口列表的幾個(gè)框架文件*-frame.html),在顯示 HTML 框架時(shí)使用。
  • 包列表 文件(package-list),通過(guò) -link-linkoffline 選項(xiàng)使用。它是文本文件,而不是 HTML 文件,并且不能通過(guò)任何鏈接到達(dá)。
  • 樣式表單 文件(stylesheet.css),它用于控制生成頁(yè)面上的顏色數(shù)、字體、字體大小、字體樣式和定位。

HTML 框架

Javadoc 將生成兩個(gè)或三個(gè) HTML 框架,如下圖中所示。當(dāng)將源文件(*.java)或單個(gè)包名作為參數(shù)傳遞到 javadoc 命令中時(shí),它將僅在左邊欄中創(chuàng)建一個(gè)框架(C) -- 類列表。當(dāng)給 javadoc 傳遞兩個(gè)或多個(gè)包名時(shí),它將創(chuàng)建第三個(gè)框架(P)(列出所有包)以及一個(gè)概述頁(yè)(Detail)??赏ㄟ^(guò)在“無(wú)框架”鏈接上單擊或在 overview-summary.html 進(jìn)入,繞過(guò)框架。

如果您不熟悉 HTML 框架,則應(yīng)該記住框架可具有焦點(diǎn),以進(jìn)行打印或滾動(dòng)。要使框架具有焦點(diǎn),可在其上單擊。然后在許多瀏覽器中,箭頭鍵和翻頁(yè)鍵將滾動(dòng)該框架,而打印菜單命令將打印它。

              ------------                  ------------
|C| Detail |                  |P| Detail |
| |        |                  | |        |
| |        |                  |-|        |
| |        |                  |C|        |
| |        |                  | |        |
| |        |                  | |        |
------------                  ------------
javadoc *.java           javadoc java.lang java.awt

根據(jù)是否想要 HTML 框架,可加載下列兩個(gè)文件之一作為開始頁(yè):

  • index.html(需要框架)
  • overview-summary.html(不需要框架)

生成的文件結(jié)構(gòu)

生成的類和接口按與 Java 源文件和類文件相同的目錄層次組織。該結(jié)構(gòu)是每個(gè)子包一個(gè)目錄。

例如,為 java.applet.Applet 類生成的文檔將位于 java\applet\Applet.html。java.applet 包的文件結(jié)構(gòu)也是一樣,假定目的目錄命名為 apidocs。如前所述,包含詞“frame”的所有文件將出現(xiàn)在左上框架或左下框架中。所有其他 HTML 文件出現(xiàn)在右邊框架中。

注意 - 目錄用 粗體 顯示。星號(hào)(*)表示當(dāng) javadoc 的參數(shù)為源文件(*.java)而不是包名時(shí)省略的文件和目錄。另外當(dāng)參數(shù)為源文件名時(shí),將創(chuàng)建 package-list 但是它為空。文檔文件目錄將不出現(xiàn)在目的地中,除非它在源目錄樹中存在。

apidocs                             頂級(jí)目錄
index.html                       建立 HTML 框架的初始頁(yè)
* overview-summary.html            列出帶第一句概覽的所有包
overview-tree.html               列出所有包的類層次
deprecated-list.html             列出所有包中不鼓勵(lì)使用的 API
serialized-form.html             列出所有包的序列化形式
* overview-frame.html              列出所有包,用于左上框架
allclasses-frame.html            列出所有包的全部類,用于左下框架中
help-doc.html                    列出如何組織這些頁(yè)的用戶幫助
index-all.html                   未用 -splitindex 選項(xiàng)創(chuàng)建的缺省索引
index-files                      用 -splitindex 選項(xiàng)創(chuàng)建的目錄
index-<number>.html          用 -splitindex 選項(xiàng)創(chuàng)建的索引文件
package-list                     列出包名,僅用于解析外部引用
stylesheet.css                   HTML 樣式表單,用于定義字體、顏色和位置
java                             子包目錄
applet                       子包目錄
Applet.html             Applet 類頁(yè)
AppletContext.html      AppletContext 接口頁(yè)
AppletStub.html         AppletStub 接口頁(yè)
AudioClip.html          AudioClip 接口頁(yè)
* package-summary.html    列出帶首句概覽的類
* package-frame.html      列出該包中的類,用于左下框架
* package-tree.html       列出該包的類層次
package-use             列出使用該包的地方
doc-files               保存圖像和示例文件的目錄
class-use               保存 API 用法頁(yè)的目錄
Applet.html          Applet 類用法頁(yè)
AppletContext.html     AppletContext 接口用法頁(yè)
AppletStub.html        AppletStub 接口用法頁(yè)
AudioClip.html         AudioClip 接口用法頁(yè)

文檔注釋

注釋源代碼

可以在源代碼中任何實(shí)體(類、接口、方法、構(gòu)造函數(shù)或域)聲明的前面包括文檔注釋。它們也稱為 Javadoc 注釋,并且文件必須用 HTML 編寫,它們應(yīng)使用 HTML 實(shí)體并可使用 HTML 標(biāo)記。用戶可使用自己瀏覽器支持的任何 HTML 版本;我們編寫的標(biāo)準(zhǔn) doclet 可在其它地方(文檔注釋外部)生成 HTML 3.2-兼容代碼,其中包括級(jí)聯(lián)樣式表單和框架(由于使用框架集,我們?cè)诿總€(gè)生成文件前面添加了“HTML 4.0”)。

例如,小于 (<) 和大于 (>) 符號(hào)的實(shí)體應(yīng)該寫為 <>。類似地,與符號(hào)(&)應(yīng)該寫為 &。在下面的示例中顯示了粗體 HTML 標(biāo)記 <b>。

下面是文檔注釋:

/**
* 這是 <b>doc</b> 注釋。
* @see java.lang.Object
*/

文檔注釋由開始注釋的字符 /** 和結(jié)束注釋的字符 */ 之間的字符組成。文本分成一行或多行。當(dāng) javadoc 解析文檔注釋時(shí),將去掉每行中的前導(dǎo)星號(hào)(*);初始星號(hào)(*)字符前面的空格和制表字符也丟棄。如果省略一行上的前導(dǎo)星號(hào),則所有前導(dǎo)空格將被去除。(在某種程度上,可以忽略前導(dǎo)星號(hào)。由于省略前導(dǎo)星號(hào)導(dǎo)致問(wèn)題的一種情況是用 <pre> 標(biāo)記格式化多行的縮進(jìn)時(shí),例如樣本代碼所示。沒有前導(dǎo)星號(hào),生成文檔中的縮進(jìn)將丟失,因?yàn)榍皩?dǎo)空格被刪除。)

每個(gè)文檔注釋的首句應(yīng)該為概覽名,包含所聲明實(shí)體的完整簡(jiǎn)要描述。該語(yǔ)句在第一個(gè)句號(hào)處結(jié)束后跟空格、制表或行結(jié)束符,或在第一個(gè) 標(biāo)記 處結(jié)束。Javadoc 將首句復(fù)制到 HTML 頁(yè)頂部的成員概覽中。

文檔注釋只有在位于類、接口、構(gòu)造函數(shù)、方法或域聲明前面才能被識(shí)別。每個(gè)聲明只有一個(gè)文檔注釋為 Javadoc 工具所識(shí)別。

當(dāng)在文檔注釋中嵌入 HTML 標(biāo)記時(shí),不應(yīng)使用 HTML 標(biāo)題標(biāo)記例如 <H1> 和 <H2>,因?yàn)?Javadoc 創(chuàng)建完全結(jié)構(gòu)化的文檔,而這些標(biāo)記將會(huì)干擾所生成文檔的格式。

以字符 @ 開始的第一行文檔注釋將結(jié)束描述并開始標(biāo)記段落部分。上例中的 @see 標(biāo)記就是這種標(biāo)記段落。

有關(guān)文檔注釋的規(guī)范,參見 James Gosling、Bill Joy 和 Guy Steele 所著書籍 Java 語(yǔ)言規(guī)范 中的第 18 章“文檔注釋”。


JAVADOC 標(biāo)記

Javadoc 解析 Java 文檔注釋中嵌入的特殊標(biāo)記。這些文檔標(biāo)記可幫助自動(dòng)從源代碼生成完整的格式化 API。標(biāo)記用“at”符號(hào)(@)開頭,并區(qū)分大小寫 -- 必須按照正確大小寫字母輸入它們。標(biāo)記必須從一行的開頭開始(位于任何前導(dǎo)空格和可選星號(hào)之后),否則它將被視為普通文本。按規(guī)定應(yīng)將相同名字的標(biāo)記放在一起。例如,將所有 @see 標(biāo)記放在一起。

有關(guān)我們將在未來(lái)版本中引入的標(biāo)記的信息,參見 提議標(biāo)記。

當(dāng)前標(biāo)記有:

標(biāo)記 引入該標(biāo)記的 JDK 版本
@author 1.0
@deprecated 1.0
@exception 1.0
{@link} 1.2
@param 1.0
@return 1.0
@see 1.0
@serial 1.2
@serialData 1.2
@serialField 1.2
@since 1.1
@throws 1.2
@version 1.0

@author name-text
當(dāng)使用 -author 選項(xiàng)時(shí),用指定的 name-text 在生成文檔中添加“Author”項(xiàng)。文檔注釋可包含多個(gè) @author 標(biāo)記。可以對(duì)每個(gè) @author 指定一個(gè)或多個(gè)名字。在前一種情況中,Javadoc 將在名字之間插入逗號(hào)(,)和空格。在后一種情況下,將全部文本復(fù)制到生成文檔中而不進(jìn)行解析。如果想要用逗號(hào)以外的本地化名字分隔符,則應(yīng)每行使用這個(gè)名字。

@deprecated deprecated-text
添加注釋,指示不應(yīng)再使用該 API(盡管它仍可用)。Javadoc 將 deprecated-text 移動(dòng)到描述前面,用斜體顯示,并在它前面添加粗體警告: “不鼓勵(lì)使用”。

deprecated-text 的首句至少應(yīng)該告訴用戶什么時(shí)候開始不鼓勵(lì)使用該 API 及使用什么替代它。Javadoc 僅將首句復(fù)制到概覽部分和索引中。后面的語(yǔ)句還可解釋為什么不鼓勵(lì)使用它。還應(yīng)包括一個(gè)指向替代 API 的 {@link} 標(biāo)記(對(duì)于 Javadoc 1.2 或更新版本):

  • 對(duì)于 Javadoc 1.2,使用 {@link} 標(biāo)記。這將在需要的地方創(chuàng)建內(nèi)嵌鏈接。例如:
    /**
        * @deprecated  在 JDK 1.1 中,被 {@link #setBounds(int,int,int,int)} 取代。
        */
        
  • 對(duì)于 Javadoc 1.1,標(biāo)準(zhǔn)格式是為每個(gè) @deprecated 標(biāo)記創(chuàng)建 @see 標(biāo)記(它不能內(nèi)嵌)。

有關(guān)不鼓勵(lì)使用的信息,參見 @deprecated 標(biāo)記。

@exception class-name description
@exception 標(biāo)記是 @throws 的同義標(biāo)記。

{@link name label}
插入指向指定 name 的內(nèi)嵌鏈接。該標(biāo)記中 namelabel 的語(yǔ)法與 @see 標(biāo)記完全相同,如下所述,但是它產(chǎn)生內(nèi)嵌鏈接而不是在“參見”部分中放置鏈接。該標(biāo)記用花括號(hào)開始并用花括號(hào)結(jié)束,以使它區(qū)別于其他內(nèi)嵌文本。如果在標(biāo)簽內(nèi)需要使用“}”,則請(qǐng)使用 HTML 實(shí)體表示法 }

對(duì)于一個(gè)語(yǔ)句中所允許的 {@link} 標(biāo)記數(shù)目沒有限制。可以在文檔注釋的描述部分或任何標(biāo)記(例如 @deprecated、@return 或 @param)的文本部分中使用該標(biāo)記。

例如,下面是一個(gè)引用 getComponentAt(int, int) 方法的注釋:

使用 {@link #getComponentAt(int, int) getComponentAt} 方法。

根據(jù)它,標(biāo)準(zhǔn) doclet 將生成如下 HTML(假定它引用相同包中另一個(gè)類):

使用 <a href="Component.html#getComponentAt(int, int)">getComponentAt</a> 方法。

它在 web 頁(yè)上顯示為:

使用 getComponentAt 方法。

@param parameter-name description
給“參數(shù)”部分添加參數(shù)。描述可繼續(xù)到下一行。

@return description
description 文本添加“返回”部分。該文本應(yīng)描述值的返回類型和容許范圍。

@see reference
添加“參見”標(biāo)題,其中有指向 reference 的鏈接或文本項(xiàng)。文檔注釋可包含任意數(shù)目的 @see 標(biāo)記,它們都分組在相同標(biāo)題下。@see 標(biāo)記具有三種變體;下面的第三種形式是最常用的形式。
@see "string"   注意 - 該形式在 JDK 1.2 沒有用。它不打印引用文本。
string 添加文本項(xiàng)。不產(chǎn)生鏈接。string 是通過(guò)該 URL 不可用的書籍或其他信息引用。Javadoc 通過(guò)查找第一個(gè)字符為雙引號(hào)(")的情形來(lái)區(qū)分它與前面的情況。例如:
     @see "Java 編程語(yǔ)言"

這將生成如下文本:

參見:
"Java 編程語(yǔ)言"
@see <a href="URL#value">label</a>
添加 URL#value 定義的鏈接。其中 URL#value 是相對(duì) URL 或絕對(duì) URL。Javadoc 通過(guò)查找第一個(gè)字符小于符號(hào)(<)區(qū)分它與其他情況。例如:
     @see <a href="spec.html#section">Java 規(guī)范</a>

這將生成如下鏈接:

參見:
Java Spec
@see package.class#member label
添加帶可見文本 label 的鏈接,它指向 Java 語(yǔ)言中指定名字的文檔。其中 label 是可選的;如果省略,則名字將作為可見文本出現(xiàn),而且嵌入在 <code> HTML 標(biāo)記中。當(dāng)想要縮寫可見文本或不同于名字的可見文本時(shí),可使用 label。

  • package.class#member 是 Java 語(yǔ)言中的任何有效名字 -- 包名、類名、接口名、構(gòu)造函數(shù)名、方法名或域名 -- 除了用 hash 字符(#)取代成員名前面的點(diǎn)之外。如果該名字位于帶文檔的類中,則 Javadoc 將自動(dòng)創(chuàng)建到它的鏈接。要?jiǎng)?chuàng)建到外部引用類的鏈接,可使用 -link 選項(xiàng)。使用另兩種 @see 形式的任何一種引用不屬于引用類的名字的文檔。第一個(gè)參數(shù)將在 指定名字 中詳細(xì)介紹。
  • label 是可選文本,它是鏈接的可見標(biāo)簽。label 可包含空格。如果省略 label,則將顯示 package.class.member,并相對(duì)于當(dāng)前類和包適當(dāng)縮短。-- 參見 如何顯示名字。
  • 空格是 package.class#memberlabel 之間的分界符。括號(hào)內(nèi)的空格不表示標(biāo)簽的開始,因此在方法各參數(shù)之間可使用空格。

示例 - 在該示例中,Character 類中的 @see 標(biāo)記引用 String 類中的 equals 方法。該標(biāo)記包括兩個(gè)參數(shù): 名字“String#equals(Object)”和標(biāo)簽“equals”。.

 /**
* @see String#equals(Object) equals
*/

標(biāo)準(zhǔn) doclet 將產(chǎn)生類似如下的 HTML 文檔:

<dl>
<dt><b>參見:</b>
<dd><a href="../../java/lang/String#equals(java.lang.Object)">equals</a>
</dl>

它在瀏覽器中看起來(lái)像如下內(nèi)容,其中標(biāo)簽是可見鏈接文本:

參見:
equals

指定名字 - package.class#member 名可以是全限定的,例如 java.lang.String#toUpperCase(),也可以不是全限定的,例如 String#toUpperCase()#toUpperCase()。如果不是全限定的,則 Javadoc 使用正常 Java 編譯器搜索次序查找它,在 @see 的搜索次序 中將進(jìn)一步介紹。名字可以在括號(hào)內(nèi)包含空格,例如在方法參數(shù)之間。

當(dāng)然使用較短的“部分限定”名字的優(yōu)點(diǎn)是鍵入更少,并且源代碼中的混亂更少。下表顯示的不同的名字形式,其中 Class 可以為類或接口,Type 可以為類、接口、數(shù)組或 基本數(shù)據(jù)類型,而 method 可以為方法或構(gòu)造函數(shù)。

@see package.class#member 的典型形式
引用當(dāng)前類的成員
@see #field
@see #method(Type, Type,...)
@see #method(Type argname, Type argname,...)

引用當(dāng)前包或?qū)氚械钠渌?/b>
@see Class#field
@see Class#method(Type, Type,...)
@see Class#method(Type argname, Type argname,...)
@see Class

引用其他包(全限定)
@see package.Class#field
@see package.Class#method(Type, Type,...)
@see package.Class#method(Type argname, Type argname,...)
@see package.Class
@see package

下述說(shuō)明適用于上表:

  • 第一套形式(沒有類和包)將導(dǎo)致 Javadoc 僅搜索當(dāng)前類層次。它將查找當(dāng)前類或接口、其父類或超接口、或其包含類或接口的成員(搜索步驟 1-3)。它不會(huì)搜索當(dāng)前包的其余部分或其他包(搜索步驟 4-5)。
  • 如果任何方法或構(gòu)造函數(shù)輸入為不帶括號(hào)的名字,例如 getValue,且如果沒有具有相同名字的域,則 Javadoc 將正確創(chuàng)建到它的鏈接,但是將顯示警告信息,提示添加括號(hào)和參數(shù)。如果該方法被重載,則 Javadoc 將鏈接到它搜索到的第一個(gè)未指定方法。
  • 對(duì)于所有形式,內(nèi)部類必須指定為 outer.inner,而不是簡(jiǎn)單的 inner。
  • 如上所述,hash 字符(#)而不是點(diǎn)(.)用于分隔類和成員。這使 Javadoc 可正確解析,因?yàn)辄c(diǎn)還用于分隔類、內(nèi)部類、包和子包。當(dāng) hash 字符(#)是第一個(gè)字符時(shí),它是絕對(duì)不可少的。但是,在其他情況下,Javadoc 通常不嚴(yán)格,并允許在不產(chǎn)生歧義時(shí)使用點(diǎn)號(hào),但是它將顯示警告。

@see 的搜索次序 - Javadoc 將處理出現(xiàn)在源文件(.java)、包文件(package.html)或概述文件(overview.html)中的 @see 標(biāo)記。在后兩種文件中,必須完全限定用 @see 提供的名字。在源文件中,可指定全限定或部分限定的名字。

當(dāng) Javadoc 在 .java 中遇到不是全限定的 @see 標(biāo)記時(shí),它按照與 Java 編譯器相同的次序搜索指定名字(Javadoc 將不檢測(cè)名字空間二義性,因?yàn)樗俣ㄔ创a不會(huì)有這些錯(cuò)誤) 搜索次序在 Java 語(yǔ)言規(guī)范 第六章“名字”中正式定義,由“內(nèi)部類規(guī)范”修改。Javadoc 在所有相關(guān)和導(dǎo)入類和包中搜索該名字。特別地,它按如下次序搜索:

  1. 當(dāng)前類或接口
  2. 任何包含類和接口,先搜索最近的
  3. 任何父類和超接口,先搜索最近的
  4. 當(dāng)前包
  5. 任何導(dǎo)入包、類和接口,按導(dǎo)入語(yǔ)句中的次序搜索

Javadoc 繼續(xù)對(duì)它遇到的每個(gè)類重復(fù)步驟 1-3 進(jìn)行搜索,直到找到匹配項(xiàng)。這就是說(shuō),當(dāng)它搜索當(dāng)前類及其包含類 E 之后,它在搜索 E 的包含類之前先搜索 E 的父類。 在步驟 4 和 5 中,Javadoc 不按任何指定的次序(該次序取決于特定編譯器)搜索包中的類或接口。在步驟 5 中,Javadoc 將在 in java.lang 中查找,因?yàn)樗怯伤谐绦蜃詣?dòng)導(dǎo)入的。

Javadoc 沒有必要在子類中查找,也沒有必要在其他包中查找,即使它們的文檔在同一次運(yùn)行中生成。例如,如果 @see 標(biāo)記位于 java.awt.event.KeyEvent 類中并引用 java.awt 包中的名字,則 javadoc 將不查找該包,除非該類導(dǎo)入它。

如果顯示名字 - 如果省略 label,則將顯示 package.class.member。一般地,將相對(duì)于當(dāng)前類和包適當(dāng)縮短它。這里“縮短”是指僅顯示必要的名字,使之盡可能短。例如:

方法包含 @see Tag @see 標(biāo)記 顯示為
String.toUpperCase() @see String#toLowerCase()
(引用相同類的成員)
toLowerCase()
(省略類名)
String.toUpperCase() @see Character#toLowerCase(char)
(引用其他類的成員)
Character.toLowerCase(char)
(包括類名)

@see 示例
右邊的注釋顯示了當(dāng) @see 標(biāo)記位于其他包(例如 java.applet.Applet)中時(shí),如何顯示名字。

                                           參見:
@see java.lang.String                   //  String                          
@see java.lang.String The String class  //   String 類                
@see String                             //  String                          
@see String#equals(Objetc)              //  String.equals(Object)           
@see String#equals                      //  String.equals(java.lang.Object) 
@see java.lang.Object#wait(long)        //  java.lang.Object.wait(long)     
@see Character#MAX_RADIX                //  Character.MAX_RADIX             
@see <a href="spec.html">Java Spec</a>  //  Java 規(guī)范           
@see "The Java Programming Language"    //  "Java 編程語(yǔ)言"        

@since since-text
since-text 指定的內(nèi)容給生成文檔添加“Since”標(biāo)題。該文本沒有特殊內(nèi)部結(jié)構(gòu)。該標(biāo)記表示該改變或功能自 since-text 所指定的軟件版本之后就存在了。例如:
    @since JDK1.1

@serial field-description
用于缺省可序列化域的文檔注釋中。

可選的 field-description 增強(qiáng)了文檔注釋對(duì)域的描述能力。該組合描述必須解釋該域的意義并列出可接受值。如需要,該描述可有多行。

應(yīng)該對(duì)自 Serializable 類的最初版本之后添加的每個(gè)可序列化域添加 @since 標(biāo)記。

要獲得私有類的序列化形式,可使用 -private 選項(xiàng)。因而,要生成所有公共類和私有類的序列化形式,可用 -private 選項(xiàng)運(yùn)行 javadoc。

有關(guān)如何使用這些標(biāo)記的信息,以及相應(yīng)示例,參見 Java 對(duì)象序列化規(guī)范 中第 1.6 節(jié)“建立類的可序列化域和數(shù)據(jù)的文檔。

@serialField field-name field-type field-description
建立 Serializable 類的 serialPersistentFields 成員的 ObjectStreamField 組件的文檔。應(yīng)該對(duì)每個(gè) ObjectStreamField 使用一個(gè) @serialField 標(biāo)記。

@serialData data-description
data-description 建立數(shù)據(jù)(尤其是 writeObject 方法所寫入的可選數(shù)據(jù)和 Externalizable.writeExternal 方法寫入的全部數(shù)據(jù))序列和類型的文檔,。

@serialData 標(biāo)記可用于 writeObject、readObject、writeExternalreadExternal 方法的文檔注釋中。

@throws class-name description
@throws@exception 標(biāo)記同義。用 class-namedescription 文本給生成的文檔添加“拋出”子標(biāo)題。其中 class-name 是該方法可拋出的異常名。如果該類不是全限定的,則 Javadoc 使用 搜索次序 查找該類。

@version version-text
當(dāng)使用 -version 選項(xiàng)時(shí)用 version-text 指定的內(nèi)容給生成文檔添加“版本”子標(biāo)題。該文本沒有特殊內(nèi)部結(jié)構(gòu)。文檔注釋最多只能包含一個(gè) @version 標(biāo)記。版本通常是指包含該類或成員的軟件(例如 JDK)版本。


可使用標(biāo)記的地方

下面介紹了在哪些地方可使用標(biāo)記。注意這四個(gè)標(biāo)記可用于所有文檔注釋中:@see@link@since@deprecated


概述文檔標(biāo)記

概述標(biāo)記可出現(xiàn)在概述頁(yè)的文檔注釋中(該文檔通常位于叫作 overview.html 的源文件中)。像在任何其他文檔注釋中一樣,這些標(biāo)記必須位于描述后面。

注意 - {@link} 標(biāo)記在 JDK 1.2 的概述文檔中有一個(gè) bug -- 文檔正確顯示,但沒有鏈接。

概述標(biāo)記
@see
{@link}
@since


包文檔標(biāo)記

包標(biāo)記可出現(xiàn)在包的文檔注釋中(該文檔位于叫作 package.html 的源文件中)。

包標(biāo)記
@see
{@link}
@since
@deprecated


類和接口文檔標(biāo)記

下面是可出現(xiàn)在類或接口的文檔注釋中的標(biāo)記。

類/接口標(biāo)記
@see
{@link}
@since
@deprecated
@author
@version

類注釋示例:

/**
* 代表屏幕上窗口的類。
* 例如:
* <pre>
*    Window win = new Window(parent);
*    win.show();
* </pre>
*
* @author  Sami Shaio
* @version 1.6, 06/25/99
* @see     java.awt.BaseWindow
* @see     java.awt.Button
*/
class Window extends BaseWindow {
...
}


域文檔標(biāo)記

下面是可出現(xiàn)在域文檔注釋中的標(biāo)記。

域標(biāo)記
@see
{@link}
@since
@deprecated
@serial
@serialField

域注釋示例:

    /**
* 組件的 X 坐標(biāo)。
*
* @see #getLocation()
*/
int x = 1263732;


構(gòu)造函數(shù)和方法文檔標(biāo)記

下面是可出現(xiàn)在構(gòu)造函數(shù)或方法的文檔注釋中的標(biāo)記。

方法/構(gòu)造函數(shù)標(biāo)記
@see
{@link}
@since
@deprecated
@param
@return
@throws (@exception)
@serialData

方法文檔注釋示例:

    /**
* 返回指定索引處的字符。索引
* 范圍為 <code>0</code> 至 <code>length() - 1</code>.
*
* @param     index  想要的字符的索引。
* @return    想要的字符。
* @exception StringIndexOutOfRangeException
*              如果索引不在范圍 <code>0</code>
*              到 <code>length()-1</code> 中。
* @see       java.lang.Character#charValue()
*/
public char charAt(int index) {
...
}


命令行參數(shù)文件

為了縮短或簡(jiǎn)化 javadoc 命令,可指定一個(gè)或多個(gè)其中每行包含一個(gè)源文件名或包名的文件。在命令行中,采用 ‘@‘ 字符加上文件名的方法將它指定為文件列表。當(dāng) javadoc 遇到用字符‘@’開頭的參數(shù)時(shí),它將操作該文件中的名字,仿佛這些名字位于命令行上一樣。

例如,可以在名為 packages 的文件中列出所有包名。該文件可能形如:

     com.mypackage1
com.mypackage2
com.mypackage3

然后可用如下命令運(yùn)行 javadoc:

     C:> javadoc -d apidocs @packages


選項(xiàng)

javadoc 工具使用 doclets 確定其輸出。除非使用 -doclet 選項(xiàng)指定自定義 doclet ,否則 Javadoc 使用缺省的標(biāo)準(zhǔn) doclet。Javadoc 提供一套命令行選項(xiàng),可用于任何 doclet -- 這些選項(xiàng)將在下面的子標(biāo)題 Javadoc 選項(xiàng) 中介紹。標(biāo)準(zhǔn) doclet 提供了一套額外的命令行選項(xiàng),它們將在下面的子標(biāo)題 標(biāo)準(zhǔn) Doclet 提供的選項(xiàng) 中介紹。所有選項(xiàng)名都不區(qū)分大小寫,但是其參數(shù)可能區(qū)分大小寫。

選項(xiàng)包括:

-1.1
-author
-bootclasspath
-bottom
-classpath
-d
-docencoding
-doclet
-docletpath
-doctitle
-encoding
-extdirs
-footer
-group
-header
-help
-helpfile
-J
-link
-linkoffline
-locale
-nodeprecated
-nodeprecatedlist
-nohelp
-noindex
-nonavbar
-notree
-overview
-package
-private
-protected
-public
-sourcepath
-splitindex
-stylesheetfile
-title
-use
-verbose
-version
-windowtitle

Javadoc 選項(xiàng)

-overview  i>path\filename
指定 javadoc 應(yīng)該從 path\filename 所指定的“源”文件中獲取概述文檔,并將它放到概述頁(yè)中(overview-summary.html)。其中 path\filename 是相對(duì)于 -sourcepath 的相對(duì)路徑名。

盡管可對(duì) filename 使用任何名字并將它放在 path 指定的任何地方,但是通常將它命令為 overview.html 并將它放入包含最頂級(jí)包目錄的源目錄樹中。在該位置,建立包文檔時(shí)不需要 path,因?yàn)?-sourcepath 將指向該文件。例如,如果 java.lang 包的源目錄樹是 /src/classes/java/lang/,則可以概述文件放到 /src/classes/overview.html。參見 實(shí)際示例。

有關(guān) path\filename 指定文件的信息,參見 概述注釋文件

在一定情況下,將不產(chǎn)生概述頁(yè)。有關(guān)詳細(xì)信息,參見 HTML 框架。

-public
只顯示公有類及成員。

-protected
只顯示受保護(hù)的和公有的類及成員。這是缺省狀態(tài)。

-package
只顯示包、受保護(hù)的和公有的類及成員。

-private
顯示所有類和成員。

-help
顯示聯(lián)機(jī)幫助,它將列出這些 javadoc 和 doclet 命令行選項(xiàng)。

-doclet class
指定啟動(dòng)用于生成文檔的 doclet 的類文件。該 doclet 定義了輸出的內(nèi)容和格式。如果未使用 -doclet 選項(xiàng),則 javadoc 使用標(biāo)準(zhǔn) doclet 生成缺省 HTML 格式。該類必須包含 start(Root) 方法。該啟動(dòng)類的路徑由 -docletpath 選項(xiàng)定義。

-docletpath classpathlist
指定 doclet 類文件的路徑,該類文件用 -doclet 選項(xiàng)指定。如果 doclet 已位于搜索路徑中,則沒有必要使用該選項(xiàng)。

-1.1
生成具有用 Javadoc 1.1 生成的文檔的外觀和功能的文檔。也就是說(shuō),頁(yè)的背景為灰色,用圖像做頁(yè)眉,使用 bullet 列表而不是表格,具有單級(jí)目的目錄結(jié)構(gòu),不包含繼承 API,不使用 HTML 框架,并且不支持內(nèi)部類。該選項(xiàng)還將索引分割成每個(gè)字母一個(gè)文件。如果想要這種外觀,則該選項(xiàng)比 javadoc 1.1 優(yōu)越之處在于修正了一些錯(cuò)誤。

不是所有選項(xiàng)都能用于 -1.1 選項(xiàng)。為了查看哪些選項(xiàng)可用,可執(zhí)行:

  C:> javadoc -1.1 -help

在該列表中顯示的 -footer 選項(xiàng)在功能上與本頁(yè)中其他地方介紹的 -bottom 選項(xiàng)相同。而 -title 選項(xiàng)在功能上與 -doctitle 相同。

-sourcepath sourcepathlist
當(dāng)將包名傳遞到 javadoc 命令中時(shí),指定查找源文件(.java)的搜索路徑。注意只有當(dāng)用 javadoc 命令指定包名時(shí)才能使用 sourcepath 選項(xiàng) -- 它將不會(huì)定位傳遞到 javadoc 命令中的 .java 文件。如果省略 -sourcepath,則 javadoc 使用類路徑查找源文件(參見 -classpath)。

sourcepathlist 設(shè)置成正在生成其文檔的包的源樹的根目錄。例如,假定想要為叫作 com.mypackage 的包建立文檔,其源文件位于:

C:\user\src\com\mypackage\*.java

在這種情況下,將把 sourcepath 指定為 C:\user\src,該目錄包含 com\mypackage,然后提供包名 com.mypackage

javadoc -sourcepath C:\user\src com.mypackage

這是相當(dāng)容易記憶的,注意如果將源路徑和包名級(jí)聯(lián)到一起,并將點(diǎn)號(hào)改為斜杠“/”,則最后將得到該包的完整路徑:C:\user\src\com\mypackage.

-classpath classpathlist
指定 javadoc 將在其中查找 引用類 的路徑 -- 引用類是指帶文檔的類加上它們引用的任何類。Javadoc 將搜索指定路徑的所有子目錄。classpathlist 可以包含多個(gè)路徑,它們用分號(hào)分隔。有關(guān)如何指定 classpathlist,請(qǐng)遵循 類路徑 文檔中的指令。

如果省略 -sourcepath,則 Javadoc 使用 -classpath 查找源文件和類文件(為了向后兼容性)。因而,如果想要在不同的路徑中搜索源文件和類文件,則應(yīng)使用 -sourcepath-classpath 兩個(gè)選項(xiàng)。

例如,如果想要建立 com.mypackage 的文檔,其類位于目錄 C:\user\src\com\mypackage 中,并且該包依賴于 C:\user\lib 中的庫(kù),則將會(huì)指定:

  C:> javadoc -classpath \user\lib -sourcepath \user\src com.mypackage

與其他工具一樣,如果不指定 -classpath,則 Javadoc 將使用 CLASSPATH 環(huán)境變量(如果它已設(shè)置)。如果二者都未設(shè)置,則 Javadoc 將從當(dāng)前目錄中搜索類。

有關(guān) Javadoc 如何使用 -classpath 查找用戶類及相關(guān)擴(kuò)展類和自舉類的深入介紹,參見 如何查找類。

-bootclasspath classpathlist
指定自舉類所在路徑。它們名義上是 Java 平臺(tái)類。這個(gè) bootclasspath 是 Javadoc 將用來(lái)查找源文件和類文件的搜索路徑的一部分。有關(guān)詳細(xì)信息,參見 如何查找類。在 classpathlist 中用分號(hào)(;)分隔目錄。

-extdirs dirlist
指定擴(kuò)展類所在的目錄。它們是任何使用 Java 擴(kuò)展機(jī)制的類。這個(gè) extdirs 是 Javadoc 將用來(lái)查找源文件和在文件的搜索路徑的一部分。有關(guān)詳細(xì)信息,參見上面的 -classpath。在 dirlist 中用分號(hào)(;)分隔目錄。

-verbose
在 javadoc 運(yùn)行時(shí)提供更詳細(xì)的信息。不使用 verbose 選項(xiàng)時(shí),將顯示加載源文件、生成文檔(每個(gè)源文件一條信息)和排序的信息。verbose 選項(xiàng)導(dǎo)致打印額外的信息,指定解析每個(gè) java 源文件的毫秒數(shù)。

-locale language_country_variant
指定 javadoc 在生成文檔時(shí)使用的環(huán)境。該參數(shù)為環(huán)境名,如 java.util.Locale 文檔中所述,例如 en_US(英語(yǔ),美國(guó))或 en_US_WIN(Windows 變量)。

指定環(huán)境將導(dǎo)致 javadoc 為各種信息(導(dǎo)航欄中的字符串、列表和表格的標(biāo)題、幫助文件內(nèi)容、stylesheet.css 中的注釋,等等)選擇使用該環(huán)境的資源文件。它還指定按字母次序排序列表的排序次序,以及用于確定第一句結(jié)束的語(yǔ)句分隔符。它不決定帶文檔類的源文件中指定的文檔注釋文本的環(huán)境。

-encoding name
指定源文件編碼名,例如 EUCJIS/SJIS。如果未指定該選項(xiàng),則使用平臺(tái)缺省轉(zhuǎn)換器。

-Jflag
flag 直接傳遞給運(yùn)行 javadoc 的運(yùn)行時(shí)系統(tǒng) java。注意在 Jflag 之間不能有空格。例如,如果需要確保系統(tǒng)分配 32 兆內(nèi)存用于處理生成文檔,則應(yīng)按如下使用該標(biāo)志:

C:> javadoc -J-Xmx32m -J-Xms32m com.mypackage

標(biāo)準(zhǔn) Doclet 提供的選項(xiàng)

-d directory
指定 javadoc 保存生成的 HTML 文件的目的目錄。("d" 表示 "destination.") 省略該選項(xiàng)將導(dǎo)致把文件保存到當(dāng)前目錄中。其中 directory 可以是絕對(duì)路徑或相對(duì)當(dāng)前工作目錄的相對(duì)路徑。例如,下列代碼將生成 com.mypackage 包的文檔并將結(jié)果保存在 C:\user\doc\ 目錄中:
  C:> javadoc -d \user\doc com.mypackage

-use
對(duì)每個(gè)帶文檔類和包包括一個(gè)“用法”頁(yè)。該頁(yè)描述使用給定類或包的任何 API 的包、類、方法、構(gòu)造函數(shù)和域。對(duì)于給定類 C,使用類 C 的任何東西將包括 C 的子類、聲明為 C 的域、返回 C 的方法以及具有 C 類型參數(shù)的方法和構(gòu)造函數(shù)。

例如,下面來(lái)看一下出現(xiàn)在 String 的“用法”頁(yè)上的內(nèi)容。java.awt.Font 類中的 getName() 方法返回類型 String。因而,getName() 使用 String,從而可在 String 的“用法”頁(yè)上找到該方法。

注意它只產(chǎn)生使用 API 的文檔,而不包括實(shí)現(xiàn)。如果方法在其實(shí)現(xiàn)中使用 String 但不接受字符串參數(shù)也不返回字符串,則將不認(rèn)為它使用 String。

可通過(guò)先轉(zhuǎn)到類或包,然后在導(dǎo)航欄上單擊“用法”鏈接,訪問(wèn)生成的“用法”頁(yè)。

-version
在生成文檔中包括 @version 文本。缺省地將省略該文本。

-author
在生成文檔中包括 @author 文本。

-splitindex
將索引文件按字母分割成多個(gè)文件,每個(gè)字母一個(gè)文件,再加上一個(gè)包含所有以非字母字符開頭的索引項(xiàng)的文件。

-windowtitle title
指定放入 HTML <title> 標(biāo)記中的標(biāo)題。它將出現(xiàn)在窗口標(biāo)題欄中和為該頁(yè)創(chuàng)建的任何瀏覽器書簽(最喜歡的地方)中。該標(biāo)題不應(yīng)該包含任何 HTML 標(biāo)記,因?yàn)闉g覽器將不能正確解釋它們。在 title 中的任何內(nèi)部引號(hào)必須轉(zhuǎn)義。如果省略 -windowtitle,則 Javadoc 對(duì)該選項(xiàng)使用 -doctitle 的值。

-doctitle title
指定放置在靠近概述概覽文件頂部的標(biāo)題。該標(biāo)題將作為一級(jí)標(biāo)題,居中地直接放在導(dǎo)航欄下面。title 可包含 html 標(biāo)記和空格,但是如果這樣,則必須用引號(hào)將它括起。在 title 中的任何內(nèi)部引號(hào)必須轉(zhuǎn)義。

-title title
該選項(xiàng)不再存在。它僅存在于 Javadoc 1.2 的 Beta 版中。它已重命名為 -doctitle。重命名該選項(xiàng)是為了更清楚地表示它定義文檔標(biāo)題而不是窗口標(biāo)題。

-header header
指定放置在每個(gè)輸出文件頂部的頁(yè)眉文本。該頁(yè)眉將放在上部導(dǎo)航欄的右邊。header 可包含 HTML 標(biāo)記和空格,但是如果這樣則必須用引號(hào)將它括起。在 header 中的任何內(nèi)部引號(hào)必須轉(zhuǎn)義。

-footer footer
指定放置在每個(gè)輸出文件底部的腳注文本。腳本將放置在下部導(dǎo)航欄的右邊。footer 可包含 html 標(biāo)記和空格,但是如果這樣,則必須用引號(hào)將它括起。在 footer 中的任何內(nèi)部引號(hào)必須轉(zhuǎn)義。

-bottom text
指定放置在每個(gè)輸出文件底部的文本。該文本將放置在頁(yè)底,位于下部導(dǎo)航欄的下面。其中 text 可包含 HTML 標(biāo)記和空格,但是如果這樣,則必須用引號(hào)將它括起。在 text 中的任何內(nèi)部引號(hào)必須轉(zhuǎn)義。

-link docURL
創(chuàng)建鏈接指向已用 javadoc-生成的 外部引用類 的文檔。參數(shù) docURL是想要鏈接到的 javadoc-生成外部文檔的 URL。該位置可以是相對(duì)的或絕對(duì)的 URL。

也就是說(shuō),該選項(xiàng)使得可鏈接到代碼所引用但是當(dāng)前 javadoc 運(yùn)行沒有產(chǎn)生其文檔的類。為保證這些鏈接指向有效頁(yè),必須知道那些 HTML 頁(yè)所在位置,并用 docURL 指定其位置。例如,這將允許第三方文檔鏈接到 http://java. 上的 java.* 文檔。另一種用途是用于包集之間的 交叉-鏈接: 對(duì)一個(gè)包集執(zhí)行 javadoc,然后再對(duì)另一個(gè)包集運(yùn)行 javadoc,在兩個(gè)集合之間創(chuàng)建雙向鏈接。另一個(gè)用途是作為到 更新文檔 的“hack”: 在整個(gè)包集上執(zhí)行 javadoc,然后對(duì)更改過(guò)的包的較小集再次運(yùn)行 javadoc,從而將更新文件插回到原集中。(這樣做可節(jié)省時(shí)間,但是需要小心使用 -- 如果從子集中添加或刪除 API,則將會(huì)丟失或破壞索引中的鏈接。)

按如下使用 -link 選項(xiàng):

  • 省略 -link 選項(xiàng),使 javadoc 只創(chuàng)建指向當(dāng)前運(yùn)行中正在生成的文檔中 API 的鏈接。(不使用 -link 選項(xiàng),Javadoc 將不創(chuàng)建外部引用文檔的鏈接,因?yàn)樗恢涝撐募欠翊嬖冢ɑ蚱湮恢茫?。?
  • 包括 -link 選項(xiàng),使用 javadoc 還創(chuàng)建指向位于 docURL外部引用類 文檔的鏈接。

注意如果 URL 位于 WWW 上,則 javadoc 在生成文檔時(shí)必須具有 web 連接以訪問(wèn) package-list。如果不能訪問(wèn),則可使用 -linkoffline 代替。

Package List - -link 選項(xiàng)需要一個(gè)名為 package-list 的文件(它由 Javadoc 生成)位于用 -link 指定的 URL 中。package-list 文件是簡(jiǎn)單的文本文件,列出在該位置有文檔的包名。在下面將介紹 Javadoc 如何使用包列表。

例如,Java 平臺(tái) 1.2 API 的包列表位于 http://java./products/jdk/1.2/docs/api/package-list。并且以如下內(nèi)容開始:

  java.applet
java.awt
java.awt.color
java.awt.datatransfer
java.awt.dnd
java.awt.event
java.awt.font
等等。

當(dāng) javadoc 不帶 -link 選項(xiàng)運(yùn)行時(shí),在它生成文檔時(shí),當(dāng)它遇到屬于 外部引用類 的名字時(shí),它將打印不帶鏈接的名字。但是,如使用 -link 選項(xiàng),則 Javadoc 將在指定 docURLpackage-list 文件中搜索該包名。如果它查找到該包名,則將 URL 添加到該名字前面。(如果 URL 是相對(duì)路徑并且 -d 目的目錄選項(xiàng)是相對(duì)路徑,則 Javadoc 將目的目錄的相對(duì)路徑添加到 URL 中,以使鏈接在目的目錄中可用。)

為了不產(chǎn)生無(wú)效鏈接,外部引用的所有文檔都必須在指定 URL 存在。Javadoc 將不會(huì)檢查這些頁(yè)的存在 -- 它只檢查 package-list 的存在。

如果 javadoc 的參數(shù)是源文件而不是包,則將創(chuàng)建 package-list, 文件但是為空。

示例 - 例如,下面命令導(dǎo)致 Javadoc 在給定 URL 查找 package-list 文件,讀取該文件中的包名,然后在添加指向那些外部包中 API 的鏈接時(shí)使用給定 URL:

  C:> javadoc -link http://java./products/jdk/1.2/docs/api com.mypackage

多鏈接 - 可提供多個(gè) -link 選項(xiàng),鏈接到任意多個(gè)外部生成文檔。 已知 Bug - Javadoc 1.2 有一個(gè)已知 bug,它使得不能提供多個(gè) -link 命令。在未來(lái)版本中將會(huì)修正它。

為每個(gè)要鏈接的外部文檔指定不同的鏈接選項(xiàng):

C:> javadoc -link docURL1 -link docURL2 ... -link docURLn com.mypackage

其中 docURL1、 docURL2、 ... docURLn 分別指向外部文檔的根目錄,各自包含一個(gè) package-list 文件。

交叉鏈接 - 注意在交叉鏈接兩個(gè)或多個(gè)還沒有生成的文檔時(shí),可能需要“啟動(dòng)”。也就是說(shuō),如果任何文檔的 package-list 都不存在,則在對(duì)第一個(gè)文檔運(yùn)行 javadoc 時(shí),第二個(gè)文檔的包列表文件也將不存在。因而,要?jiǎng)?chuàng)建外部鏈接,必須在生成第二個(gè)文檔之后重新生成第一個(gè)文檔。

在這種情況中,第一次生成文檔的目的是創(chuàng)建其包列表(如果能確定包名,也可手工創(chuàng)建包列表)。然后生成帶外部鏈接的第二個(gè)文檔。Javadoc 在需要的外部 package-list 文件不存在時(shí)打印警告信息。

更新文檔 - -link 選項(xiàng)的第三個(gè)用途是如果項(xiàng)目有數(shù)十個(gè)或數(shù)百個(gè)包,并且已對(duì)整個(gè)目錄樹運(yùn)行了 javadoc,現(xiàn)在,在單獨(dú)的運(yùn)行中,想要快速地進(jìn)行一些小的修改,并對(duì)源目錄樹的一小部分重新運(yùn)行 javadoc,這時(shí)它是非常有用的。這有些類似于 hack,因?yàn)樗辉诟淖兾臋n注釋時(shí)才能正常工作,而修改簽名則不行。如果想要在源代碼中添加、刪除或改變?nèi)魏魏灻?,則可能在索引、包目錄樹、繼承成員列表、用法頁(yè)或其他位置出現(xiàn)無(wú)效鏈接。

首先,為這次小運(yùn)行新建一個(gè)目的目錄,并將 -link-d 設(shè)置成相同的相對(duì)路徑: 如果原文檔位于目錄 html 中,則為:

  C:> javadoc -d update -linkoffline . html com.mypackage

當(dāng) javadoc 完成后,復(fù)制 update 中生成的文件并覆蓋 html 中的原文件。

背景知識(shí): 一般地,在 javadoc 運(yùn)行時(shí),它有可能為其生成頁(yè)中出現(xiàn)的名字產(chǎn)生鏈接: 例如在簽名、@see 標(biāo)記、{@link} 標(biāo)記、概覽、層次、概述和索引中。有些鏈接將轉(zhuǎn)到當(dāng)前運(yùn)行中生成的頁(yè),而其他鏈接有可能轉(zhuǎn)到不是在當(dāng)前運(yùn)行中生成的頁(yè)。

-linkoffline docURL packagelistURL
該選項(xiàng)為外部引用類名字創(chuàng)建指向文檔的鏈接,其中:
  • docURL 是想要鏈接到的 javadoc 生成的外部文檔的根目錄的 URL。該位置可以是相對(duì)的或絕對(duì)的 URL。
  • packagelistURL 是包含文檔的包列表文件所在目錄的 URL。(如果需要,可手工創(chuàng)建該文件。)

該選項(xiàng)是 -link 的一種變體。如果在運(yùn)行 javadoc 時(shí)包列表文件在 docURL 位置不存在,則可使用 -linkoffline。如果知道文檔鏈接到的包名和文檔所在位置,則可以在該包列表文件實(shí)際存在于該位置之前,生成帶外部鏈接的文檔。這使得可用自己的包列表副本,生成具有適當(dāng)鏈接的文檔。

當(dāng)需要生成鏈接指向包名已知但尚未發(fā)布的新外部文檔(但是還沒有建立)時(shí),這時(shí)非常有用的。這使得兩個(gè)公司可同時(shí)發(fā)布他們的文檔。它還允許生成鏈接到?jīng)]有包列表文件的外部文檔(或許它是用 Javadoc 1.0、1.1 或最高 1.2 Beta3 生成)的文檔。

注意該選項(xiàng)在運(yùn)行 javadoc 時(shí)不需要訪問(wèn)文檔 URL。因而,即使該 URL 位于 WWW 上,在生成文檔時(shí)也不需要 web 鏈接。

如下所示,要使用該選項(xiàng),請(qǐng)指定 docURL1(javadoc 生成的外部引用類的文檔的位置)和 packagelistURL1(其包列表文件的位置)。如果它們具有相同位置,則可僅使用 -link 選項(xiàng)。對(duì)每個(gè)想要引用的生成文檔,需要包括 -linkoffline 一次:

C:> javadoc -linkoffline docURL1 packagelistURL1 -linkoffline docURL2 packagelistURL2

例如,下面的命令使用第一個(gè)參數(shù)給定的 URL 添加鏈接,并在第二個(gè)參數(shù)給定的路徑中查找 package-list 文件。

C:> javadoc -linkoffline http://java./products/jdk/1.2/docs/api /usr/web/work/products/jdk/1.2/docs/api/

-group groupheading packagepattern:packagepattern:...
將概述頁(yè)上的包分成指定的組,每組一個(gè)表格??梢杂貌煌?-group 選項(xiàng)指定每個(gè)組。各組按命令行中指定的次序出現(xiàn)在頁(yè)面上,組內(nèi)的包按字母排序。對(duì)于給定 -group 選項(xiàng),與 packagepattern 表達(dá)式列表匹配的包出現(xiàn)在標(biāo)題為 groupheading 的表格中。
  • groupheading 可以為任何文本,并可包括空格。該文本將放置在該組的表格標(biāo)題中。
  • packagepattern 可以為任何包名,也可以為任何包名的開頭后跟星號(hào)(*)。星號(hào)是通配符,表示“匹配任何字符”。它是唯一允許的通配符。一組中可包包括多個(gè)模式,并用分號(hào)(;)分隔它們。

注意: 如果在模式或模式列表中使用星號(hào),則模式 列表必須位于引號(hào)內(nèi)部,例如 "java.lang*:java.util"

如果沒有提供任何 -group 選項(xiàng),則所有包都將放在一組中,并且其標(biāo)題為“包”。如果所有組未包括全部帶文檔包,則剩余的任何包將出現(xiàn)在一個(gè)單獨(dú)的組中,且其標(biāo)題為“其他包”。

例如,下面的選項(xiàng)將四個(gè)帶文檔包分成“核心包”、“擴(kuò)展包”和“其他包”。注意后面的“點(diǎn)”號(hào)不出現(xiàn)在 "java.lang*" 中 -- 包括點(diǎn)號(hào),例如“java.lang.*”將忽略 java.lang 包。

  C:> javadoc -group "核心包" "java.lang*:java.util"
-group "擴(kuò)展包" "javax.*"
java.lang java.lang.reflect java.util javax.servlet java.new

結(jié)果分組為:

核心包
java.lang
java.lang.reflect
java.util
擴(kuò)展包
javax.servlet
其他包
java.new

-nodeprecated
防止在文檔中生成任何不鼓勵(lì)使用的 API。它執(zhí)行 -nodeprecatedlist 所做的事情,并且它不在文檔其余部分生成任何不鼓勵(lì)使用的 API。當(dāng)編寫代碼并不想被不鼓勵(lì)使用的代碼分心時(shí),這是非常有用的。

-nodeprecatedlist
防止在生成文件中包含不鼓勵(lì)使用的 API 列表(deprecated-list.html)并防止在導(dǎo)航欄中包含該頁(yè)的鏈接。(但是,javadoc 繼續(xù)在文檔其余部分生成不鼓勵(lì)使用的 API。) 如果源代碼未包含不鼓勵(lì)使用的 API,并且想要導(dǎo)航欄更干凈,則它是非常有用的。

-notree
在生成文檔中忽略類/接口層次。缺省地,將產(chǎn)生該層次。

-noindex
在生成文檔中忽略索引。缺省地,將產(chǎn)生索引。

-nohelp
在輸出的每頁(yè)頂部和底部的導(dǎo)航欄中忽略“幫助”鏈接。

-nonavbar
防止產(chǎn)生導(dǎo)航欄、頁(yè)眉和腳注,否則它們將出現(xiàn)在生成頁(yè)的頂部和底部。它對(duì)“bottom”選項(xiàng)沒有影響。當(dāng)只對(duì)內(nèi)容感興趣并且沒有必要導(dǎo)航時(shí),例如僅將文件轉(zhuǎn)換成 PostScript 或 PDF 以進(jìn)行打印,-nonavbar 選項(xiàng)是非常有用的。

-helpfile path\filename
指定頂部和底部導(dǎo)航欄中“幫助”鏈接所鏈接到的替代幫助文件 path\filename 的路徑。不使用該選項(xiàng)時(shí),Javadoc 自動(dòng)創(chuàng)建幫助文件 help-doc.html,它在 Javadoc 中硬編碼。該選項(xiàng)使得可覆蓋這種缺省情況。其中 filename 可以是任何名字,不局限于 help-doc.html -- Javadoc 將相應(yīng)調(diào)整導(dǎo)航欄中的鏈接。例如:
  C:> javadoc -helpfile C:\user\myhelp.html java.awt

-stylesheetfile path\filename
指定替代 HTML 樣式表單文件的路徑。不使用該選項(xiàng)時(shí),Javadoc 將自動(dòng)創(chuàng)建樣式表單文件 stylesheet.css,它在 Javadoc 中硬編碼。該選項(xiàng)使得可覆蓋這種缺省情況。其中 filename 可以是任何名字,不局限于 stylesheet.css。例如:
  C:> javadoc -stylesheetfile C:\user\mystylesheet.css com.mypackage

-docencoding name
指定輸出 HTML 文件的編碼方式。


簡(jiǎn)單示例

可以對(duì)整個(gè)包或單個(gè)類運(yùn)行 javadoc。每個(gè)包名有一個(gè)相應(yīng)的目錄名。在下面的示例中,源文件位于 C:\home\src\java\awt\*java。目的目錄是 C:\home\html。

建立包的文檔

要建立包的文檔,該包的源文件(*.java)必須位于一個(gè)與該包名字相同的目錄中。如果包名由幾個(gè)標(biāo)識(shí)符組成(用點(diǎn)號(hào)分隔),則每個(gè)標(biāo)識(shí)符代表一個(gè)不同的目錄。因而,所有 java.awt 類必須位于名為 java\awt\ 的目錄中??捎萌缦聝煞N方式之一運(yùn)行 javadoc -- 通過(guò)改變目錄(用 cd)或使用 sourcepath 選項(xiàng)。不能使用通配符指定多個(gè)包。

  • 情況 1- 換到包目錄 - 換到全限定包的父目錄。然后運(yùn)行 run javadoc,并提供想要建立其文檔的一個(gè)或多個(gè)包的名字:
      C:> cd C:\home\src\
        C:> javadoc -d C:\home\html java.awt java.awt.event
        
  • 情況 2 - 從任何目錄 - 在這種情況下,當(dāng)前目錄是什么沒有關(guān)系。運(yùn)行 javadoc 時(shí)用 sourcepath 提供全限定包的父目錄,并提供想要建立其文檔的一個(gè)或多個(gè)包的名字:
      C:> javadoc -d C:\home\html -sourcepath C:\home\src java.awt java.awt.event
        

這兩種情況都將產(chǎn)生包 java.awtjava.awt.event 中公共和保護(hù)類和接口的 HTML 格式文檔,并將 HTML 文件保存在指定目的目錄(C:\home\html)中。因?yàn)橐蓛蓚€(gè)或多個(gè)包,所以文檔具有三個(gè)框架 -- 包列表、類列表和主頁(yè)。

建立類的文檔

要建立一個(gè)或多個(gè)源文件(.java)的文檔,這些文件不必位于特定目錄中??梢杂萌缦聝煞N方式之一運(yùn)行 javadoc -- 通過(guò)改變目錄(用 cd)或完全指定 .java 文件的路徑。選項(xiàng) -sourcepath 在建立源文件的文檔時(shí)沒有作用??墒褂妹钚型ㄅ浞?,例如星號(hào)(*),指定多個(gè)類。

  • 情況 1 - 換到源目錄 - 換到保存 .java 文件的目錄。然后運(yùn)行 javadoc,并提供想要建立其文檔的一個(gè)或多個(gè)源文件名。
      C:> cd C:\home\src\java\awt
        C:> javadoc -d C:\home\html Button.java Canvas.java Graphics*.java
        

    該示例產(chǎn)生類 Button、Canvas 和以 Graphics 開頭的類的 HTML 格式文檔。因?yàn)槭窃次募皇前鳛閰?shù)傳遞給 javadoc,所以文檔具有兩個(gè)框架 -- 類列表和主頁(yè)。

  • 情況 2 - 改變到包的根目錄 - 當(dāng)要為相同根目錄下不同子包中的單個(gè)源文件建立文檔時(shí),這是非常有用的。改變到包的根目錄,并提供源文件相對(duì)于其根的路徑。
      C:> cd /home/src/
        C:> javadoc -d /home/html java/awt/Button.java java/applet/Applet.java
        

    該示例產(chǎn)生類 ButtonApplet 的 HTML 格式文檔。

  • 情況 3 - 從任何目錄 - 在這種情況下,當(dāng)前目錄是什么沒有關(guān)系。運(yùn)行 javadoc,并提供想要建立其文檔的 .java 文件的絕對(duì)路徑(或相對(duì)于當(dāng)前目錄的相對(duì)路徑)。
      C:> javadoc -d C:\home\html C:\home\src\java\awt\Button.java C:\home\src\java\awt\Graphics*.java
        

    該示例產(chǎn)生類 Button 和以 Graphics 開頭的類的 HTML 格式文檔。

建立包和類的文檔

可同時(shí)建立整個(gè)包和單個(gè)類的文檔。下面是一個(gè)混合前兩個(gè)示例的示例??墒褂?-sourcepath 指定包的路徑但不作為單個(gè)類的路徑。

  C:> javadoc -d C:\home\html -sourcepath C:\home\src java.awt C:\home\src\java\applet\Applet.java

該示例生成包 java.awt 和類 Applet 的 HTML 格式文檔(Javadoc 從 Applet.java 源文件中的包聲明(如果有)中確定 Applet 的包名)。


實(shí)際示例

Javadoc 有許多有用的選項(xiàng),有些相對(duì)其他更為常用。下面是實(shí)際中我們用來(lái)在 Java 平臺(tái) API 上運(yùn)行 javadoc 的命令,它使用了 makefile 變量(除了未列出所有要建文檔的包之外)。

javadoc -sourcepath /jdk/src/share/classes \   /* 源文件路徑        */
-d /jdk/build/api                  \   /* 目的目錄          */
-use                               \   /* 添加“用法”文件  */
-splitIndex                        \   /* 分割索引 A-Z      */
-windowtitle $(WINDOWTITLE)        \   /* 添加窗口標(biāo)題      */
-doctitle $(DOCTITLE)              \   /* 添加文檔標(biāo)題      */
-header $(HEADER)                  \   /* 添加運(yùn)行頁(yè)眉文本  */
-bottom $(BOTTOM)                  \   /* 添加底部文本      */
-group $(GROUPCORE)                \   /* 概述頁(yè)的核心標(biāo)題  */
-group $(GROUPEXT)                 \   /* 概述頁(yè)的擴(kuò)展標(biāo)題  */
-overview overview-core.html       \   /* 概述文本          */
-J-Xmx180m                         \   /* 180MB 內(nèi)存        */
java.lang java.lang.reflect        \   /* 要建立其文檔的包  */
java.util java.io java.net         java.applet
WINDOWTITLE = ‘Java 平臺(tái) 1.2 最終 API 規(guī)范‘
DOCTITLE = ‘Java<sup><font size="-2">TM</font></sup> Platform 1.2 Final API Specification‘
HEADER = ‘<b>Java Platform 1.2</b><br><font size="-1">Final</font>‘
BOTTOM = ‘<font size="-1"><a href="http://java./cgi-bin/bugreport.cgi"> 提交
bug 或功能 </a><br><br>Java 是 Sun Microsystems , Inc 在美國(guó)和其他國(guó)家
的商標(biāo)或注冊(cè)商標(biāo)。<br>Copyright 1993-1998
Sun Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.
保留所有權(quán)利。</font>‘
GROUPCORE = ‘"核心包" "java.*:com.sun.java.*:org.omg.*"
GROUPEXT  = ‘"擴(kuò)展包" "javax.*"‘

如果省略 -windowtitle 選項(xiàng),則 javadoc 將文檔標(biāo)題復(fù)制到窗口標(biāo)題。-windowtitle 選項(xiàng)是沒有必要的,除非文檔標(biāo)題包含 HTML 標(biāo)記。

如果像這里所做的一樣省略 -footer 選項(xiàng),則 javadoc 將頁(yè)眉文本復(fù)制到腳注文本。

其他重要的選項(xiàng)是 -classpath-link。


環(huán)境

CLASSPATH
提供 javadoc 用于查找用戶類文件路徑的環(huán)境變量。該環(huán)境變量將被 -classpath 選項(xiàng)覆蓋。用分號(hào)分隔目錄,例如:

.;C:\classes;C:\home\java\classes


另請(qǐng)參閱

如有意見,請(qǐng)發(fā)送到: javadoc-tool@






























    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产亚洲精品一二三区| 欧美日本道一区二区三区| 亚洲精品欧美精品一区三区| 天堂av一区一区一区| 国产精品日韩欧美一区二区 | 成人午夜免费观看视频| 欧美av人人妻av人人爽蜜桃| 国产又粗又黄又爽又硬的| 大尺度剧情国产在线视频| 成人免费视频免费观看| 国产亚洲中文日韩欧美综合网| 国产欧美日韩不卡在线视频| 91爽人人爽人人插人人爽| 日本视频在线观看不卡| 亚洲精品av少妇在线观看| 国产免费无遮挡精品视频| 中文字幕一区二区免费| 在线观看欧美视频一区| 香蕉久久夜色精品国产尤物 | 大屁股肥臀熟女一区二区视频 | 久久99夜色精品噜噜亚洲av| 欧美日韩精品视频在线| 成人精品日韩专区在线观看| 欧美成人高清在线播放| 国产欧美日韩不卡在线视频| 99精品国产一区二区青青 | 久久国产精品亚州精品毛片 | 99久久婷婷国产亚洲综合精品| 国产精品欧美在线观看| 日本欧美一区二区三区就| 久久精品福利在线观看| 久久99爱爱视频视频| 中文字幕日韩精品人一妻| 国产免费黄片一区二区| 久一视频这里只有精品| 国产欧美日韩在线精品一二区| 婷婷基地五月激情五月| 欧美日韩国产黑人一区| 久久中文字幕中文字幕中文| 大尺度剧情国产在线视频| 日韩夫妻午夜性生活视频|