溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

JavaDoc命令怎么用

發(fā)布時(shí)間:2021-11-18 10:34:45 來(lái)源:億速云 閱讀:127 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)JavaDoc命令怎么用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

javadoc的命令行語(yǔ)法如下:
javadoc [ options ] [ packagenames ] [ sourcefiles ] [ @files ]
參數(shù)可以按照任意順序排列。下面分別就這些參數(shù)和相關(guān)的一些內(nèi)容進(jìn)行說(shuō)明:
? Packagenames 包列表。這個(gè)選項(xiàng)可以是一系列的包名(用空格隔開(kāi)),例如java.lang java.lang.reflect java.awt。不過(guò),因?yàn)閖avadoc不遞歸作用于子包,不允許對(duì)包名使用通配符;所以你必須顯示地列出希望建立文檔的每一個(gè)包。
? Sourcefiles 源文件列表。這個(gè)選項(xiàng)可以是一系列的源文件名(用空格隔開(kāi)),可以使用通配符。javadoc允許四種源文件:類(lèi)源代碼文件、包描述文件、總體概述文件、其他雜文件。
◇ 類(lèi)源代碼文件:類(lèi)或者接口的源代碼文件。
◇ 包描述文件:每一個(gè)包都可以有自己的包描述文件。包描述文件的名稱(chēng)必須是"package.html",與包的.java文件放置在一起。包描述文件的內(nèi)容通常是使用HTML標(biāo)記寫(xiě)的文檔。javadoc執(zhí)行時(shí)將自動(dòng)尋找包描述文件。如果找到,javadoc將首先對(duì)描述文件中之間的內(nèi)容進(jìn)行處理,然后把處理結(jié)果放到該包的Package Summary頁(yè)面中,最后把包描述文件的第一句(緊靠)放到輸出的Overview summary頁(yè)面中,并在語(yǔ)句前面加上該包的包名。
◇ 總體概述文件:javadoc可以創(chuàng)建一個(gè)總體概述文件描述整個(gè)應(yīng)用或者所有包。總體概述文件可以被任意命名,也可以放置到任意位置。-overview選項(xiàng)可以指示總體概述文件的路徑和名稱(chēng)??傮w概述文件的內(nèi)容是使用HTML標(biāo)記寫(xiě)的文檔。javadoc在執(zhí)行的時(shí)候,如果發(fā)現(xiàn)-overview選項(xiàng),那么它將首先對(duì)文件中之間的內(nèi)容進(jìn)行處理;然后把處理后的結(jié)果放到輸出的Overview summary 頁(yè)面的底部;最后把總體概述文件中的第一句放到輸出的Overview summary頁(yè)面的頂部。
◇ 其他雜文件:這些文件通常是指與javadoc輸出的HTML文件相關(guān)的一些圖片文件、Java源代碼文件(.java)、Java程序(.class)、Java小程序(Applets)、HTML文件。這些文件必須放在doc-files目錄中。每一個(gè)包都可以有自己的doc-files目錄。舉個(gè)例子,你希望在java.awt.Button的HTML文檔中使用一幅按鈕的圖片(Button.gif)。首先,你必須把圖片文件放到C:usersrcjavaawtdoc-files中;然后在Button.java文件中加入下面注釋
/**
* This button looks like this:
*/
? @files 包含文件。為了簡(jiǎn)化javadoc命令,你可以把需要建立文檔的文件名和包名放在一個(gè)或多個(gè)文本文件中。例如,為了簡(jiǎn)化下面命令:
javadoc -d apidoc com.mypackage1 com.mypackage2 com.mypackage3
你可以建立一個(gè)名稱(chēng)為mypackage.txt的文件,其內(nèi)容如下:
com.mypackage1
com.mypackage2
com.mypackage3
然后執(zhí)行下面命令即可:
javadoc -d apidoc @mypackage.txt
? options 命令行選項(xiàng)。javadoc使用doclets(doclets是指用doclet API編寫(xiě)的程序。)來(lái)確定輸出的內(nèi)容和格式。命令行選項(xiàng)中一部分是可用于所有doclet的通用選項(xiàng),一部分是由默認(rèn)的標(biāo)準(zhǔn)doclet提供的專(zhuān)用的選項(xiàng)。下面對(duì)各自一些常用的選項(xiàng)分別進(jìn)行介紹:
通用選項(xiàng):
◇ -1.1 生成具有javadoc 1.1版本生成的文檔的外觀(guān)和功能的文檔。不是所有的選項(xiàng)都可以用于-1.1選項(xiàng),具體可以使用javadoc -1.1 -help察看。
◇ -help 顯示聯(lián)機(jī)幫助。
◇ -bootclasspath classpathlist 指定"根類(lèi)"(通常是Java平臺(tái)自帶的一些類(lèi)。例如java.awt.*等)的路徑。
◇ -sourcepath sourcepathlist 指定包的源文件搜索路徑。但是必須注意,只有在javadoc命令中指定了包名的時(shí)候才可以使用-sourcepath選項(xiàng)。如果指定了包名,而省略了-sourcepath,那么javadoc使用類(lèi)路徑查找源文件。舉例說(shuō)明:假定你打算為com.mypackage建立文檔,其源文件的位置是C:usersrc。那么你可以使用下面的命令:
javadoc -sourcepath c:usersrc com.mypackage
◇ -classpath classpathlist 指定javadoc查找"引用類(lèi)"的路徑。引用類(lèi)是指帶文檔的類(lèi)加上它們引用的任何類(lèi)。javadoc將搜索指定路徑的所有子目錄。Classpathlist可以包含多個(gè)路徑(使用;隔開(kāi))。如果省略-classpath,則javadoc使用-sourcepath查找源文件和類(lèi)文件。舉例說(shuō)明:假定你打算為com.mypackage建立文檔,其源文件的位置是C:usersrc,包依賴(lài)C:userlib中的庫(kù)。那么你可以使用下面的命令:
javadoc -classpath c:userlib -sourcepath c:usersrc com.mypackage
◇ -overview pathfilename 告訴javadoc從pathfilename所指定的文件中獲取概述文檔,并且把它放到輸出的概述頁(yè)面(overview-summary.html)中。其中pathfilename是相對(duì)于-sourcepath的相對(duì)路徑。
◇ -public 只顯示公共類(lèi)以及成員。
◇ -protected 只顯示受保護(hù)的和公共的類(lèi)以及成員。缺省選項(xiàng)。
◇ -package只顯示包、受保護(hù)的和公共的類(lèi)以及成員。
◇ -private 顯示所有類(lèi)和成員。
◇ -doclet class 指定javadoc產(chǎn)生輸出內(nèi)容的自定義doclet類(lèi)。如果忽略這個(gè)選項(xiàng),javadoc將使用默認(rèn)的doclet產(chǎn)生一系列HTML文檔。
◇ -docletpath classpathlist 與- doclet選項(xiàng)相關(guān),制定自定義的doclet類(lèi)文件的路徑。Classpathlist可以包含多條路徑(用;隔開(kāi))。
◇ -verbose 在javadoc運(yùn)行時(shí)提供更詳細(xì)的信息。
標(biāo)準(zhǔn)doclet專(zhuān)用選項(xiàng):
◇ -author 在生成的文檔中包含"作者"項(xiàng)。
◇ - d directory 指定javadoc保存生成的HTML文件的目錄。省略該選項(xiàng)將把文件保存在當(dāng)前目錄。Directory可以是絕對(duì)目錄,也可以是相對(duì)當(dāng)前目錄的相對(duì)目錄。
◇ -version 在生成的文檔中包含"版本"項(xiàng)。
◇ -use 為類(lèi)和包生成"use"(用法)頁(yè)面。這些頁(yè)面描述了該類(lèi)和包在javadoc命令涉及的文件中被使用的情況。例如:對(duì)于給定的類(lèi)C,在C的用法頁(yè)面中將包含C的子類(lèi),類(lèi)型為C的域,返回變量類(lèi)型為C的方法以及在參數(shù)中有變量類(lèi)型為C的方法和構(gòu)造器。
◇ -splitindex 把索引文件按照字母順序分為多個(gè)文件。每一個(gè)文件對(duì)應(yīng)一個(gè)字母。
◇ -windowtitle title 指定輸出的HTML文檔的標(biāo)題。
◇ -header header 指定輸出的HTML文檔的頁(yè)眉文本。
◇ -footer footer 指定輸出的HTML文檔的腳注文本。
◇ -bottom text 指定輸出的HTML文檔底部的文本。
◇ - group groupheading packagepatten;packagepatten;… 在總體概述頁(yè)面中按照命令的指定方式分隔各個(gè)包。例如執(zhí)行下面命令:
javadoc -group "Core Packages" "java.lang*:java.util"
-group "Extension Packages" "javax.*"
java.lang java.lang.reflect java.util javax.servlet java.new
在頁(yè)面中將有如下結(jié)果:
Core Packages
java.lang
java.lang.reflect
java.util
Extension Packages
javax.servlet
Other Packages
java.new
◇ - noindex 不輸出索引文件。
◇ - help 在文件的導(dǎo)航條中忽略help鏈接。
◇ - helpfile pathfilename 指定導(dǎo)航條中的help鏈接所指向的幫助文件。忽略該選項(xiàng),javadoc將生成缺省的幫助文件。
◇ -stylesheetfile pathfilename 指定javadoc的HTML樣式表文件的路徑。忽略該選項(xiàng),javadoc將自動(dòng)產(chǎn)生一個(gè)樣式表文件stylesheet.css。
JavaDoc文檔標(biāo)記
javadoc注釋以"/**"開(kāi)始,以"*/"結(jié)束,里面可以包含普通文本、HTML標(biāo)記和javadoc標(biāo)記。javadoc只處理源文件中在類(lèi)/接口定義、方法、域、構(gòu)造器之前的注釋?zhuān)雎晕挥谄渌胤降淖⑨?。舉例如下:
/**
*Demo--Helloworld
*@author sunjl
*@version 1.0 2001/10/15
*/
public class myHelloworld
{
/**
*在main( )方法中使用的顯示用字符串
*@see #main(java.lang.String[])
*/
static String SDisplay;
/**
*顯示HelloWorld
*@param args 從命令行中帶入的字符串
*@return 無(wú)
*/
public static void main(String args[])
{
SDisplay = "Hello World " ;
System.out.println( SDisplay );
}
}

使用下面命令:
javadoc -private -d doc -author -version myHelloworld.java
即可以生成漂亮的關(guān)于myHelloworld.java的API文檔了。
上面例子中以@開(kāi)頭的標(biāo)記就是javadoc標(biāo)記。在Java程序中正確使用javadoc標(biāo)記是一個(gè)良好的注釋習(xí)慣,將非常有助于javadoc自動(dòng)從源代碼文件生成完整的格式化API文檔。下面就對(duì)各種標(biāo)記進(jìn)行詳細(xì)說(shuō)明。
◇ @author name-text 指定生成文檔中的"作者"項(xiàng),從JDK/SDK 1.0開(kāi)始引入。name-text可以指定多個(gè)名字(使用","隔開(kāi))。文檔注釋可以包含多個(gè)類(lèi)。
◇ {@docroot} 代表產(chǎn)生文檔的根路徑,從JDK/SDK 1.3開(kāi)始引入。用法舉例如下
/**
*see the copyright
*/
假定生成文檔的根目錄是doc,上面注釋所在的文件最后生成的文件是docutilityutl.html,那么"copyright"的鏈接會(huì)指向..copyright.html。
◇ @deprecated deprecated-text 添加注釋?zhuān)砻鞑煌扑]使用該API。
◇ @exception class-name description @throw的同義標(biāo)記,從JDK/SDK 1.0開(kāi)始引入。
◇ {@link package.class#member label} 插入指向package.class#member的內(nèi)嵌鏈接,從JDK/SDK 1.2開(kāi)始引入。舉例說(shuō)明,假定注釋中有如下文檔:
/** Use the {@link #getComponentAt(int, int) getComponentAt} method. */
那么javadoc最終生成的HTML頁(yè)面中將有如下內(nèi)容
Use the  getComponentAt   method.
◇ @param parameter-name description 描述參數(shù),從JDK/SDK 1.0開(kāi)始引入。
◇ @return description 描述返回值,從JDK/SDK 1.0開(kāi)始引入。
◇ @see reference 添加"參見(jiàn)"標(biāo)題,其中有指向reference的鏈接或者文本項(xiàng),從JDK/SDK 1.0開(kāi)始引入。@see標(biāo)記有三種形式,下面分別說(shuō)明:
(1)、@see "string" 為"string"添加文本項(xiàng),不產(chǎn)生鏈接。
(2)、@see Label 使用HTML標(biāo)記產(chǎn)生鏈接
(3)、@see package.class#member Label 使用Java語(yǔ)言的名字package.class #member產(chǎn)生鏈接。
◇ @serial field-description 用于缺省可序列化域的注釋?zhuān)瑥腏DK/SDK 1.2開(kāi)始引入。
◇ @serialField field-name field-type field-description 建立Serializable類(lèi)的serialPersistentFields成員的ObjectStreamField組件的文檔,從JDK/SDK 1.2開(kāi)始引入。
◇ @serialData data-description data-description建立數(shù)據(jù)序列和類(lèi)型的文檔,從JDK/SDK 1.2開(kāi)始引入。
◇ @since since-text 利用since-text內(nèi)容為文檔增加"since"標(biāo)題,從JDK/SDK 1.1開(kāi)始引入。
◇ @throws class-name description 與@exception同義。用class-name和description為輸出文檔添加"拋出"標(biāo)題,從JDK/SDK 1.2開(kāi)始引入。
◇ @version version-text 添加"版權(quán)"標(biāo)題,從JDK/SDK 1.0開(kāi)始引入。
上面介紹了標(biāo)準(zhǔn)doclet提供的所有標(biāo)記。不過(guò),需要注意這些標(biāo)記的使用是有位置限制的。其中可以出現(xiàn)在類(lèi)或者接口文檔注釋中的標(biāo)記有:@see、{@link}、@since、@deprecated、@author、@version??梢猿霈F(xiàn)在方法或者構(gòu)造器文檔注釋中的標(biāo)記有:@see、{@link}、@since、@deprecated、@param、@return、@throws、@exception、@serialData。可以出現(xiàn)在域文檔注釋中的有:@see、{@link}、@since、@desprecated、@serial、@serialField。
除了javadoc自身提供的標(biāo)準(zhǔn)標(biāo)記以外,我們可以定制自己的標(biāo)記嗎?當(dāng)然可以。只需要對(duì)javadoc標(biāo)準(zhǔn)的doclet程序進(jìn)行擴(kuò)充即可。實(shí)際上,利用javadoc提供的doclet API,不僅可以擴(kuò)充doclet標(biāo)記,甚至還可以改變javadoc的整個(gè)輸出。為了滿(mǎn)足需要,你可以使javadoc輸出普通文本、XML文件等。由于擴(kuò)充doclet涉及到Java編程,本文不再做深入介紹。
總之,javadoc提供了完整規(guī)范的API文檔功能。在軟件項(xiàng)目管理中,合理地使用javadoc不僅可以減少開(kāi)發(fā)時(shí)的文檔工作量,提高效率;而且還非常有利于將來(lái)軟件的修改和維護(hù)。
JavaDoc 書(shū)寫(xiě)規(guī)范:
1、 File Header Comments : 每個(gè)文件都應(yīng)該加上文件頭標(biāo)記,包括文件名、修改歷史、版權(quán)信息和附加信息。例如:

/**
* @(#)demo.java 1.00 2002/05/27
*
* Copyright (c) 2000-2002 中國(guó)平安保險(xiǎn)股份有限公司 版權(quán)所有
* Ping An Insurance Company of China. All rights reserved.

* This software is the confidential and proprietary
* information of Ping An Insurance Company of China.
* ("Confidential Information"). You shall not disclose
* such Confidential Information and shall use it only
* in accordance with the terms of the contract agreement
* you entered into with Ping An.
*/

2、class description:類(lèi)信息,概括的描述類(lèi)的功能和實(shí)現(xiàn)。
/** class description
*/
3、Variable Description:描述變量的意義和取值含義。
/** var variable description
*/
4、Method Description:標(biāo)明每個(gè)方法的輸入、輸出參數(shù)和返回值類(lèi)型,說(shuō)明特殊變量取值的含義。相關(guān)類(lèi)文檔鏈接。
/** method description
* @param var signification
* @exception exception class name
* @return return_value return signification
*/

5、Association Description:關(guān)聯(lián)類(lèi)文檔描述,在注釋當(dāng)中需要參引其它文檔描述的地方,可在相應(yīng)的注釋當(dāng)中如下插入:
/** method description
* @param var signification
* @exception exception class name
* @return return_value return signification
* @see package.class#member label
*/
6、包描述文件:概括描述包的功能和設(shè)計(jì)概要。為每個(gè)包創(chuàng)建一個(gè)描述文件,命名為package.html,與包的java文件放在一起。
注:javadoc生成文檔時(shí),會(huì)將該html文件的第一句放在package summary中,而把整個(gè)內(nèi)容放在Overview summary中.

關(guān)于“JavaDoc命令怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI