| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> javadoc - Java API 文档生成器(Windows版本) -> 正文阅读 |
|
[开发工具]javadoc - Java API 文档生成器(Windows版本) |
文章目录
简介
在实现时, 实际上, 依赖编译器可以确保 HTML 输出完全对应于实际实现,这些实现可能有赖于隐式的(而非显式的)源代码。例如,javadoc 将建立在 .class 文件中存在但在源代码中不存在的缺省构造方法(Java 语言规范的第 8.6.7 节)的文档。 当 javadoc 建立其内部文档结构时,它将加载所有引用的类。由于这一点,javadoc 必须能查找到所有引用的类,包括引导类、扩展类和用户类。有关详细信息,参见如何查找类。一般而言,所创建的类必须加载为扩展或位于 javadoc 的类路径中。 命令语法结构命令的语法格式:
Javadoc Doclets可使用 doclets 自定义 Javadoc 输出的内容和格式。Javadoc 具有一个缺省的“内嵌”doclet,叫作标准 doclet,它生成 HTML-格式的 API 文档。用户可修改或扩展标准 doclet,或编写自己的 doclet 以生成 HTML、XML、MIF、RTF 或想要的任何输出格式。 当没有用 -doclet 命令行选项指定自定义 doclet 时,Javadoc 将使用缺省的标准 doclet。不管使用哪个 doclet,javadoc 工具都有几个命令行选项可用。标准 doclet 还添加了额外的命令行选项集。 术语带文档的类在 javadoc 运行期间为之生成了全部文档的类和接口。要生成文档,源文件必须可用,并且其源文件名或包名必须传递到 javadoc 命令中。 引用类在带文档的类和接口的定义(实现)中显式引用的类和接口。引用的例子包括返回类型、参数类型、强制转换类型、已实现接口、导入类,等等。在文档注释(例如 @see 标记)中引用的类不算作引用类。当 Javadoc 运行时,它将 javadoc 引导类路径和类路径中所有的引用类加载到内存中(对于没有找到的引用类,Javadoc 将显示“类未找到”警告信息)。 Javadoc 可从类文件中获得足够的信息,以确定其存在性及其成员的全限定名字。 外部引用类在 javadoc 运行期间没有生成其文档的引用类。也就是说,这些类对于该次 javadoc 运行是外部的。文档中名字到这些类的链接称为外部引用或外部链接。例如,如果仅对 java.awt 包运行 javadoc,则 java.lang 中的任何类(如 Object)都是外部引用类。可使用 -link 选项链接外部引用类。 源文件javadoc 将根据四种不同的“源”文件生成输出: Java 语言源文件(.java)、包注释文件、概述注释文件和其他未处理文件。下面介绍了后三种类型。 源代码文件略 包注释文件每个包具有它自己的文档注释,保存在其自己的“源”文件中,Javadoc 将把它合并到生成的包概览页中。通常可在这个注释中包括适用于整个包的任何文档。 要创建包注释文件,必须将它命名为 包注释文件的内容是一个大文档注释,用 HTML 编写,像所有其他注释一样,但有一个例外:文档注释不应该包括注释分隔符 当 Javadoc 运行时,它将自动查找该文件;如果找到,则 Javadoc 做下列事情: 1.复制 和 标记之间的全部内容以进行处理。 概述注释文件每个要为之建立文档的应用程序或包集可以有它自己的概述文档注释,保存在其自己的“源”文件中,Javadoc 将把它合并到生成的概述页中。在该注释中通常可包括适用于整个应用程序或包集的任何文档。 要创建概述注释文件,可将该文件命名为想要的任何名字(通常为 overview.html)并将它放置在任何地方(通常位于源树的最顶层中)。注意对于相同源文件集可有多个概述注释文件,以用于对不同包集多次运行 javadoc。例如,如果 java.applet 包的源文件包含在 C:\user\src\java\applet 目录中,则可创建概述注释文件 C:\user\src\overview.html。 概述注释文件的内容是一个大文档注释,用 HTML 编写,与前面介绍的包注释文件类似。在编写注释时,第一句应该是关于应用程序或包集的概览,并且在 和第一句之间不要插入标题或任何其他文本。可包括概述标记;与所有文档注释一样,除了 {@link} 之外的所有标记都就位于描述之后。如果添加 @see 标记,则它必须是全限定名字。 当运行 Javadoc 时,可用 -overview 选项指定概述注释文件。然后将以与包注释文件类似的方法处理该文件。 1.复制 其他未处理文件还可在源文件中包括想要 Javadoc 复制到目的目录中的任何其他文件。这通常包括图形文件、示例 Java 源文件(.java)和类文件(.class)以及其内容远超过常规 Java 源文件文档注释的独立 HTML 文件。 要包括未处理文件,请将它们放入一个叫作 doc-files 的目录中,它可以是任何包目录的子目录。每个包可以使用一个这种子目录。例如,如果想要在 java.awt.Button 类文档中包含按钮图像 button.gif,则可将该文件放入 /home/user/src/java/awt/doc-files/ 目录中。所有到未处理文件的链接都必须是硬编码的,因为 Javadoc 不查看这些文件 – 它只是将目录及其全部内容复制到目的地。例如,Button.java 文档注释中的链接可能类似如下:
生成的文件缺省地,javadoc 使用标准 doclet 生成 HTML 格式文档。该 doclet 生成下列类型的文件(其中每个 HTML “页”相应于一个单独的文件)。注意 javadoc 生成具有二种名字的文件: 用类/接口命名的文件,和不用类/接口命名的文件(例如 package-summary.html)。后一组中的文件包括下划线(以防止与前一组中的文件名冲突)。 基本内容页为生成其文档的每个类或接口生成类或接口页(classname.html)。 交叉参考页整个包集的类层次页(overview-tree.html)。要查看它,可以单击导航栏上的“概述”,然后单击“树”。 整个包的类层次页(package-tree.html)。要查看它,可转到特定包、类或接口页;单击“树”显示该包的层次。 每个包的“用法”页(package-use.html)和每个类和接口的单独页(class-use/classname.html)。该页描述了使用给定类、接口或包的任何部分的包、类、方法、构造函数和域。给定一个类或接口 A,其“用法”页包括 A 的子类、声明为 A 的域、返回 A 的方法以及具有 A 类型参数的方法和构造函数。要访问该页,可首先转到包、类或接口,然后在导航栏中单击“用法”链接。 不鼓励使用的 API 页(deprecated-list.html),列出所有不鼓励使用的名字。(通常由于改进的原因不推荐使用不鼓励使用的名字,并提供了替代的名字。不鼓励使用的 API 在未来的实现中可能删除。) 序列化形式页(serialized-form.html),提供关于可序列化或可外部化类的信息。每个这种类具有其序列化域和方法的描述。该信息对于重实现人员有用,使用 API 的开发人员一般不感兴趣。尽管在导航栏中没有其链接,但是可通过转到任何序列化类并单击类描述的“参见”部分中的“序列化形式”,获得该信息。 所有类、接口、构造函数、域及方法名的 索引(index-*.html),按字母次序排列。它为 Unicode 进行了国际化,并可生成为单个文件或为每个开始字符(例如英语中的 A - Z)生成一个单独的文件。 支持文件帮助页(help-doc.html),它描述导航栏和上述各页。可使用 -helpfile 用自己的自定义帮助文件覆盖缺省帮助文件。 HTML 框架Javadoc 将生成两个或三个 HTML 框架,如下图中所示。当将源文件( 如果您不熟悉 HTML 框架,则应该记住框架可具有焦点,以进行打印或滚动。要使框架具有焦点,可在其上单击。然后在许多浏览器中,箭头键和翻页键将滚动该框架,而打印菜单命令将打印它。
index.html(需要框架) 生成的文件结构生成的类和接口按与 Java 源文件和类文件相同的目录层次组织。该结构是每个子包一个目录。 例如,为 java.applet.Applet 类生成的文档将位于 java\applet\Applet.html。java.applet 包的文件结构也是一样,假定目的目录命名为 apidocs。如前所述,包含词“frame”的所有文件将出现在左上框架或左下框架中。所有其他 HTML 文件出现在右边框架中。 注意 - 目录用 粗体 显示。星号()表示当 javadoc 的参数为源文件(.java)而不是包名时省略的文件和目录。另外当参数为源文件名时,将创建 package-list 但是它为空。文档文件目录将不出现在目的地中,除非它在源目录树中存在。
文档注释注释源代码可以在源代码中任何实体(类、接口、方法、构造函数或域)声明的前面包括文档注释。它们也称为 Javadoc 注释,并且文件必须用 HTML 编写,它们应使用 HTML 实体并可使用 HTML 标记。用户可使用自己浏览器支持的任何 HTML 版本;我们编写的标准 doclet 可在其它地方(文档注释外部)生成 HTML 3.2-兼容代码,其中包括级联样式表单和框架(由于使用框架集,我们在每个生成文件前面添加了“HTML 4.0”)。 例如,小于 ( 下面是文档注释:
文档注释由开始注释的字符 每个文档注释的首句应该为概览名,包含所声明实体的完整简要描述。该语句在第一个句号处结束后跟空格、制表或行结束符,或在第一个 标记 处结束。Javadoc 将首句复制到 HTML 页顶部的成员概览中。 文档注释只有在位于类、接口、构造函数、方法或域声明前面才能被识别。每个声明只有一个文档注释为 Javadoc 工具所识别。 当在文档注释中嵌入 HTML 标记时,不应使用 HTML 标题标记例如 以字符 有关文档注释的规范,参见 James Gosling、Bill Joy 和 Guy Steele 所著书籍 Java 语言规范 中的第 18 章“文档注释”。 JAVADOC 标记Javadoc 解析 Java 文档注释中嵌入的特殊标记。这些文档标记可帮助自动从源代码生成完整的格式化 API。标记用“at”符号( 有关我们将在未来版本中引入的标记的信息,参见 提议标记。 当前标记有:
@author name-text当使用 -author 选项时,用指定的 name-text 在生成文档中添加“Author”项。文档注释可包含多个 @author 标记。可以对每个 @author 指定一个或多个名字。在前一种情况中,Javadoc 将在名字之间插入逗号(,)和空格。在后一种情况下,将全部文本复制到生成文档中而不进行解析。如果想要用逗号以外的本地化名字分隔符,则应每行使用这个名字。 @deprecated deprecated-text添加注释,指示不应再使用该 API(尽管它仍可用)。Javadoc 将 deprecated-text 移动到描述前面,用斜体显示,并在它前面添加粗体警告: “不鼓励使用”。 deprecated-text 的首句至少应该告诉用户什么时候开始不鼓励使用该 API 及使用什么替代它。Javadoc 仅将首句复制到概览部分和索引中。后面的语句还可解释为什么不鼓励使用它。还应包括一个指向替代 API 的 对于 Javadoc 1.2,使用
对于 Javadoc 1.1,标准格式是为每个 @deprecated 标记创建 @see 标记(它不能内嵌)。 @exception class-name description@exception 标记是 @throws 的同义标记。 {@link name label}插入指向指定 name 的内嵌链接。该标记中 name 和 label 的语法与 @see 标记完全相同,如下所述,但是它产生内嵌链接而不是在“参见”部分中放置链接。该标记用花括号开始并用花括号结束,以使它区别于其他内嵌文本。如果在标签内需要使用“}”,则请使用 HTML 实体表示法 对于一个语句中所允许的 例如,下面是一个引用
根据它,标准 doclet 将生成如下 HTML(假定它引用相同包中另一个类):
它在 web 页上显示为:
@param parameter-name description给“参数”部分添加参数。描述可继续到下一行。 @return description用 description 文本添加“返回”部分。该文本应描述值的返回类型和容许范围。 @see reference添加“参见”标题,其中有指向 reference 的链接或文本项。文档注释可包含任意数目的 @see 标记,它们都分组在相同标题下。@see 标记具有三种变体;下面的第三种形式是最常用的形式。 @see “string”注意 - 该形式在 JDK 1.2 没有用。它不打印引用文本。
这将生成如下文本: 参见: @see label添加 URL#value 定义的链接。其中 URL#value 是相对 URL 或绝对 URL。Javadoc 通过查找第一个字符小于符号(<)区分它与其他情况。例如:
这将生成如下链接: 参见: @see package.class#member label添加带可见文本 label 的链接,它指向 Java 语言中指定名字的文档。其中 label 是可选的;如果省略,则名字将作为可见文本出现,而且嵌入在 package.class#member 是 Java 语言中的任何有效名字 – 包名、类名、接口名、构造函数名、方法名或域名 – 除了用 hash 字符(#)取代成员名前面的点之外。如果该名字位于带文档的类中,则 Javadoc 将自动创建到它的链接。要创建到外部引用类的链接,可使用 -link 选项。使用另两种 @see 形式的任何一种引用不属于引用类的名字的文档。第一个参数将在 指定名字 中详细介绍。 label 是可选文本,它是链接的可见标签。label 可包含空格。如果省略 label,则将显示 package.class.member,并相对于当前类和包适当缩短。-- 参见 如何显示名字。 空格是 package.class#member 和 label 之间的分界符。括号内的空格不表示标签的开始,因此在方法各参数之间可使用空格。
标准 doclet 将产生类似如下的 HTML 文档:
它在浏览器中看起来像如下内容,其中标签是可见链接文本: 指定名字 - package.class#member 名可以是全限定的,例如 java.lang.String#toUpperCase(),也可以不是全限定的,例如 String#toUpperCase() 或 #toUpperCase()。如果不是全限定的,则 Javadoc 使用正常 Java 编译器搜索次序查找它,在 @see 的搜索次序 中将进一步介绍。名字可以在括号内包含空格,例如在方法参数之间。 当然使用较短的“部分限定”名字的优点是键入更少,并且源代码中的混乱更少。下表显示的不同的名字形式,其中 Class 可以为类或接口,Type 可以为类、接口、数组或 基本数据类型,而 method 可以为方法或构造函数。 下述说明适用于上表: 第一套形式(没有类和包)将导致 Javadoc 仅搜索当前类层次。它将查找当前类或接口、其父类或超接口、或其包含类或接口的成员(搜索步骤 1-3)。它不会搜索当前包的其余部分或其他包(搜索步骤 4-5)。 如果任何方法或构造函数输入为不带括号的名字,例如 getValue,且如果没有具有相同名字的域,则 Javadoc 将正确创建到它的链接,但是将显示警告信息,提示添加括号和参数。如果该方法被重载,则 Javadoc 将链接到它搜索到的第一个未指定方法。 对于所有形式,内部类必须指定为 outer.inner,而不是简单的 inner。 如上所述,hash 字符(#)而不是点(.)用于分隔类和成员。这使 Javadoc 可正确解析,因为点还用于分隔类、内部类、包和子包。当 hash 字符(#)是第一个字符时,它是绝对不可少的。但是,在其他情况下,Javadoc 通常不严格,并允许在不产生歧义时使用点号,但是它将显示警告。 @see 的搜索次序 - Javadoc 将处理出现在源文件(.java)、包文件(package.html)或概述文件(overview.html)中的 @see 标记。在后两种文件中,必须完全限定用 @see 提供的名字。在源文件中,可指定全限定或部分限定的名字。 当 Javadoc 在 .java 中遇到不是全限定的 @see 标记时,它按照与 Java 编译器相同的次序搜索指定名字(Javadoc 将不检测名字空间二义性,因为它假定源代码不会有这些错误) 搜索次序在 Java 语言规范 第六章“名字”中正式定义,由“内部类规范”修改。Javadoc 在所有相关和导入类和包中搜索该名字。特别地,它按如下次序搜索: 1.当前类或接口 Javadoc 继续对它遇到的每个类重复步骤 1-3 进行搜索,直到找到匹配项。这就是说,当它搜索当前类及其包含类 E 之后,它在搜索 E 的包含类之前先搜索 E 的父类。 在步骤 4 和 5 中,Javadoc 不按任何指定的次序(该次序取决于特定编译器)搜索包中的类或接口。在步骤 5 中,Javadoc 将在 in java.lang 中查找,因为它是由所有程序自动导入的。 Javadoc 没有必要在子类中查找,也没有必要在其他包中查找,即使它们的文档在同一次运行中生成。例如,如果 @see 标记位于 java.awt.event.KeyEvent 类中并引用 java.awt 包中的名字,则 javadoc 将不查找该包,除非该类导入它。 如何显示名字 - 如果省略 label,则将显示 package.class.member。一般地,将相对于当前类和包适当缩短它。这里“缩短”是指仅显示必要的名字,使之尽可能短。例如: @see 示例 右边的注释显示了当 @see 标记位于其他包(例如 java.applet.Applet)中时,如何显示名字。
@since since-text用 since-text 指定的内容给生成文档添加“Since”标题。该文本没有特殊内部结构。该标记表示该改变或功能自 since-text 所指定的软件版本之后就存在了。例如:@since JDK1.1 @serial field-description用于缺省可序列化域的文档注释中。 应该对自 Serializable 类的最初版本之后添加的每个可序列化域添加 @since 标记。 要获得私有类的序列化形式,可使用 -private 选项。因而,要生成所有公共类和私有类的序列化形式,可用 -private 选项运行 javadoc。 有关如何使用这些标记的信息,以及相应示例,参见 Java 对象序列化规范 中第 1.6 节“建立类的可序列化域和数据的文档。 @serialField field-name field-type field-descriptionDocuments an ObjectStreamField component of a Serializable class’s serialPersistentFields member. One @serialField tag should be used for each ObjectStreamField component. @serialData data-descriptiondata-description 以序列化形式记录数据的类型和顺序。尤其是 writeObject 方法所写入的可选数据和 Externalizable.writeExternal 方法写入的全部数据。
@throws class-name description@throws 和 @exception 标记同义。用 class-name 和 description 文本给生成的文档添加“抛出”子标题。其中 class-name 是该方法可抛出的异常名。如果该类不是全限定的,则 Javadoc 使用 搜索次序 查找该类。 @version version-text当使用 -version 选项时用 version-text 指定的内容给生成文档添加“版本”子标题。该文本没有特殊内部结构。文档注释最多只能包含一个 @version 标记。版本通常是指包含该类或成员的软件(例如 JDK)版本。 可使用标记的地方下面介绍在哪些地方可使用标记。注意这四个标记可用于所有文档注释中:@see、@link、@since、@deprecated。 概述文档标记概述标记可出现在概述页的文档注释中(该文档通常位于叫作 注意 - 概述标记
包文档标记包标记可出现在包的文档注释中(该文档位于叫作 包标记
类和接口文档标记下面是可出现在类或接口的文档注释中的标记。 类/接口标记:
类注释示例:
域文档标记下面是可出现在域文档注释中的标记。 域标记:
域注释示例:
构造函数和方法文档标记下面是可出现在构造函数或方法的文档注释中的标记。 方法/构造函数标记
方法文档注释示例:
public char charAt(int index) { 命令行参数文件为了缩短或简化 javadoc 命令,可指定一个或多个其中每行包含一个源文件名或包名的文件。在命令行中,采用 ‘@‘ 字符加上文件名的方法将它指定为文件列表。当 javadoc 遇到用字符‘@’开头的参数时,它将操作该文件中的名字,仿佛这些名字位于命令行上一样。 例如,可以在名为
然后可用如下命令运行 javadoc:
Javadoc 选项javadoc 工具使用 doclets 确定其输出。除非使用 -doclet 选项指定自定义 doclet ,否则 Javadoc 使用缺省的标准 doclet。Javadoc 提供一套命令行选项,可用于任何 doclet – 这些选项将在下面的子标题 Javadoc 选项 中介绍。标准 doclet 提供了一套额外的命令行选项,它们将在下面的子标题–标准 Doclet 提供的选项中介绍。所有选项名都不区分大小写,但是其参数可能区分大小写。 选项包括:
-overview path\filename指定 javadoc 应该从 尽管可对 filename 使用任何名字并将它放在 path 指定的任何地方,但是通常将它命令为 有关 在一定情况下,将不产生概述页。有关详细信息,参见 HTML 框架。 -public只显示公有类及成员。 -protected只显示受保护的和公有的类及成员。这是缺省状态。 -package只显示包、受保护的和公有的类及成员。 -private显示所有类和成员。 -help显示联机帮助,它将列出这些 javadoc 和 doclet 命令行选项。 -doclet class指定启动用于生成文档的 doclet 的类文件。该 doclet 定义了输出的内容和格式。如果未使用 -doclet 选项,则 javadoc 使用标准 doclet 生成缺省 HTML 格式。该类必须包含 start(Root) 方法。该启动类的路径由 -docletpath classpathlist指定 doclet 类文件的路径,该类文件用 -doclet 选项指定。如果 doclet 已位于搜索路径中,则没有必要使用该选项。 -1.1生成具有用 Javadoc 1.1 生成的文档的外观和功能的文档。也就是说,页的背景为灰色,用图像做页眉,使用 bullet 列表而不是表格,具有单级目的目录结构,不包含继承 API,不使用 HTML 框架,并且不支持内部类。该选项还将索引分割成每个字母一个文件。如果想要这种外观,则该选项比 javadoc 1.1 优越之处在于修正了一些错误。 不是所有选项都能用于
在该列表中显示的 -footer 选项在功能上与本页中其他地方介绍的 -bottom 选项相同。而 -title 选项在功能上与 -doctitle 相同。 -sourcepath sourcepathlist当将包名传递到 javadoc 命令中时,指定查找源文件(
在这种情况下,将把
这是相当容易记忆的,注意如果将源路径和包名级联到一起,并将点号改为斜杠“/”,则最后将得到该包的完整路径: -classpath classpathlist指定 javadoc 将在其中查找引用类的路径 – 引用类是指带文档的类加上它们引用的任何类。Javadoc 将搜索指定路径的所有子目录。classpathlist 可以包含多个路径,它们用分号分隔。有关如何指定 classpathlist,请遵循类路径文档中的指令。 如果省略 例如,如果想要建立
与其他工具一样,如果不指定 有关 Javadoc 如何使用 -bootclasspath classpathlist指定自举类所在路径。它们名义上是 Java 平台类。这个 bootclasspath 是 Javadoc 将用来查找源文件和类文件( -extdirs dirlist指定扩展类所在的目录。它们是任何使用 Java 扩展机制的类。这个 extdirs 是 Javadoc 将用来查找源文件和在文件的搜索路径的一部分。有关详细信息,参见上面的 -classpath。在 dirlist 中用分号( -verbose在 javadoc 运行时提供更详细的信息。不使用 verbose 选项时,将显示加载源文件、生成文档(每个源文件一条信息)和排序的信息。verbose 选项导致打印额外的信息,指定解析每个 java 源文件的毫秒数。 -locale language_country_variant指定 javadoc 在生成文档时使用的环境。该参数为环境名,如 java.util.Locale 文档中所述,例如 en_US(英语,美国)或 en_US_WIN(Windows 变量)。 指定环境将导致 javadoc 为各种信息(导航栏中的字符串、列表和表格的标题、帮助文件内容、stylesheet.css 中的注释,等等)选择使用该环境的资源文件。它还指定按字母次序排序列表的排序次序,以及用于确定第一句结束的语句分隔符。它不决定带文档类的源文件中指定的文档注释文本的环境。 -encoding name指定源文件编码名,例如:EUCJIS/SJIS。如果未指定该选项,则使用平台缺省转换器。 -Jflag将
标准 Doclet 提供的选项-d directory指定
-use对每个带文档类和包包括一个“用法”页。该页描述使用给定类或包的任何 API 的包、类、方法、构造函数和域。对于给定类 C,使用类 C 的任何东西将包括 C 的子类、声明为 C 的域、返回 C 的方法以及具有 C 类型参数的方法和构造函数。 例如,下面来看一下出现在 String 的“用法”页上的内容。java.awt.Font 类中的 注意它只产生使用 API 的文档,而不包括实现。如果方法在其实现中使用 String 但不接受字符串参数也不返回字符串,则将不认为它使用 String。 可通过先转到类或包,然后在导航栏上单击“用法”链接,访问生成的“用法”页。 -version在生成文档中包括 @version 文本。缺省地将省略该文本。 -author在生成文档中包括 @author 文本。 -splitindex将索引文件按字母分割成多个文件,每个字母一个文件,再加上一个包含所有以非字母字符开头的索引项的文件。 -windowtitle title指定放入 HTML -doctitle title指定放置在靠近概述概览文件顶部的标题。该标题将作为一级标题,居中地直接放在导航栏下面。title 可包含 html 标记和空格,但是如果这样,则必须用引号将它括起。在 title 中的任何内部引号必须转义。 -title title该选项不再存在。它仅存在于 Javadoc 1.2 的 Beta 版中。它已重命名为 -doctitle。重命名该选项是为了更清楚地表示它定义文档标题而不是窗口标题。 -header header指定放置在每个输出文件顶部的页眉文本。该页眉将放在上部导航栏的右边。header 可包含 HTML 标记和空格,但是如果这样则必须用引号将它括起。在 header 中的任何内部引号必须转义。 -footer footer指定放置在每个输出文件底部的脚注文本。脚本将放置在下部导航栏的右边。footer 可包含 html 标记和空格,但是如果这样,则必须用引号将它括起。在 footer 中的任何内部引号必须转义。 -bottom text指定放置在每个输出文件底部的文本。该文本将放置在页底,位于下部导航栏的下面。其中 text 可包含 HTML 标记和空格,但是如果这样,则必须用引号将它括起。在 text 中的任何内部引号必须转义。 -link docURL创建链接指向已用 javadoc-生成的 外部引用类 的文档。参数 docURL是想要链接到的 javadoc-生成外部文档的 URL。该位置可以是相对的或绝对的 URL。 也就是说,该选项使得可链接到代码所引用但是当前 javadoc 运行没有产生其文档的类。为保证这些链接指向有效页,必须知道那些 HTML 页所在位置,并用 docURL 指定其位置。例如,这将允许第三方文档链接到 按如下使用 省略 Package List - 例如,Java 平台 1.2 API 的包列表位于 。并且以如下内容开始: java.applet 当 javadoc 不带 -link 选项运行时,在它生成文档时,当它遇到属于 外部引用类 的名字时,它将打印不带链接的名字。但是,如使用 -link 选项,则 Javadoc 将在指定 docURL 的 package-list 文件中搜索该包名。如果它查找到该包名,则将 URL 添加到该名字前面。(如果 URL 是相对路径并且 -d 目的目录选项是相对路径,则 Javadoc 将目的目录的相对路径添加到 URL 中,以使链接在目的目录中可用。) 为了不产生无效链接,外部引用的所有文档都必须在指定 URL 存在。Javadoc 将不会检查这些页的存在 – 它只检查 package-list 的存在。 如果 javadoc 的参数是源文件而不是包,则将创建 package-list, 文件但是为空。 示例 - 例如,下面命令导致 Javadoc 在给定 URL 查找 package-list 文件,读取该文件中的包名,然后在添加指向那些外部包中 API 的链接时使用给定 URL:
多链接 - 可提供多个 -link 选项,链接到任意多个外部生成文档。 已知 Bug - Javadoc 1.2 有一个已知 bug,它使得不能提供多个 -link 命令。在未来版本中将会修正它。 为每个要链接的外部文档指定不同的链接选项:
其中 docURL1、 docURL2、 … docURLn 分别指向外部文档的根目录,各自包含一个 package-list 文件。 交叉链接 - 注意在交叉链接两个或多个还没有生成的文档时,可能需要“启动”。也就是说,如果任何文档的 package-list 都不存在,则在对第一个文档运行 javadoc 时,第二个文档的包列表文件也将不存在。因而,要创建外部链接,必须在生成第二个文档之后重新生成第一个文档。 在这种情况中,第一次生成文档的目的是创建其包列表(如果能确定包名,也可手工创建包列表)。然后生成带外部链接的第二个文档。Javadoc 在需要的外部 package-list 文件不存在时打印警告信息。 更新文档 - 首先,为这次小运行新建一个目的目录,并将 -link 和 -d 设置成相同的相对路径: 如果原文档位于目录 html 中,则为:
当 javadoc 完成后,复制 update 中生成的文件并覆盖 html 中的原文件。 背景知识: 一般地,在 javadoc 运行时,它有可能为其生成页中出现的名字产生链接: 例如在签名、@see 标记、{@link} 标记、概览、层次、概述和索引中。有些链接将转到当前运行中生成的页,而其他链接有可能转到不是在当前运行中生成的页。 -linkoffline docURL packagelistURL该选项为外部引用类名字创建指向文档的链接,其中: 当需要生成链接指向包名已知但尚未发布的新外部文档(但是还没有建立)时,这时非常有用的。这使得两个公司可同时发布他们的文档。它还允许生成链接到没有包列表文件的外部文档(或许它是用 Javadoc 1.0、1.1 或最高 1.2 Beta3 生成)的文档。 注意该选项在运行 javadoc 时不需要访问文档 URL。因而,即使该 URL 位于 WWW 上,在生成文档时也不需要 web 链接。 如下所示,要使用该选项,请指定 docURL1(javadoc 生成的外部引用类的文档的位置)和 packagelistURL1(其包列表文件的位置)。如果它们具有相同位置,则可仅使用 -link 选项。对每个想要引用的生成文档,需要包括 -linkoffline 一次:
例如,下面的命令使用第一个参数给定的 URL 添加链接,并在第二个参数给定的路径中查找 package-list 文件。
-group groupheading packagepattern:packagepattern:…将概述页上的包分成指定的组,每组一个表格。可以用不同的 -group 选项指定每个组。各组按命令行中指定的次序出现在页面上,组内的包按字母排序。对于给定 -group 选项,与 packagepattern 表达式列表匹配的包出现在标题为 groupheading 的表格中。 注意: 如果在模式或模式列表中使用星号,则模式列表必须位于引号内部,例如 如果没有提供任何 -group 选项,则所有包都将放在一组中,并且其标题为“包”。如果所有组未包括全部带文档包,则剩余的任何包将出现在一个单独的组中,且其标题为“其他包”。 例如,下面的选项将四个带文档包分成“核心包”、“扩展包”和“其他包”。注意后面的“点”号不出现在 “java.lang*” 中 – 包括点号,例如“java.lang.*”将忽略 java.lang 包。
结果分组为: 核心包 -nodeprecated防止在文档中生成任何不鼓励使用的 API。它执行 -nodeprecatedlist 所做的事情,并且它不在文档其余部分生成任何不鼓励使用的 API。当编写代码并不想被不鼓励使用的代码分心时,这是非常有用的。 -nodeprecatedlist防止在生成文件中包含不鼓励使用的 API 列表(deprecated-list.html)并防止在导航栏中包含该页的链接。(但是,javadoc 继续在文档其余部分生成不鼓励使用的 API。) 如果源代码未包含不鼓励使用的 API,并且想要导航栏更干净,则它是非常有用的。 -notree在生成文档中忽略类/接口层次。缺省地,将产生该层次。 -noindex在生成文档中忽略索引。缺省地,将产生索引。 -nohelp在输出的每页顶部和底部的导航栏中忽略“帮助”链接。 -nonavbar防止产生导航栏、页眉和脚注,否则它们将出现在生成页的顶部和底部。它对“bottom”选项没有影响。当只对内容感兴趣并且没有必要导航时,例如仅将文件转换成 PostScript 或 PDF 以进行打印,-nonavbar 选项是非常有用的。 -helpfile path\filename指定顶部和底部导航栏中“帮助”链接所链接到的替代帮助文件 path\filename 的路径。不使用该选项时,Javadoc 自动创建帮助文件 help-doc.html,它在 Javadoc 中硬编码。该选项使得可覆盖这种缺省情况。其中 filename 可以是任何名字,不局限于 help-doc.html – Javadoc 将相应调整导航栏中的链接。例如: -stylesheetfile path\filename指定替代 HTML 样式表单文件的路径。不使用该选项时,Javadoc 将自动创建样式表单文件 stylesheet.css,它在 Javadoc 中硬编码。该选项使得可覆盖这种缺省情况。其中 filename 可以是任何名字,不局限于 stylesheet.css。例如: -docencoding name指定输出 HTML 文件的编码方式。 简单示例可以对整个包或单个类运行 javadoc。每个包名有一个相应的目录名。在下面的示例中,源文件位于 C:\home\src\java\awt*java。目的目录是 C:\home\html。 建立包的文档要建立包的文档,该包的源文件(*.java)必须位于一个与该包名字相同的目录中。如果包名由几个标识符组成(用点号分隔),则每个标识符代表一个不同的目录。因而,所有 java.awt 类必须位于名为 java\awt\ 的目录中。可用如下两种方式之一运行 javadoc – 通过改变目录(用 cd)或使用 sourcepath 选项。不能使用通配符指定多个包。 情况 1- 换到包目录 - 换到全限定包的父目录。然后运行 run javadoc,并提供想要建立其文档的一个或多个包的名字:
情况 2 - 从任何目录 - 在这种情况下,当前目录是什么没有关系。运行 javadoc 时用 sourcepath 提供全限定包的父目录,并提供想要建立其文档的一个或多个包的名字:
这两种情况都将产生包 java.awt 和 java.awt.event 中公共和保护类和接口的 HTML 格式文档,并将 HTML 文件保存在指定目的目录(C:\home\html)中。因为要生成两个或多个包,所以文档具有三个框架 – 包列表、类列表和主页。 建立类的文档要建立一个或多个源文件(.java)的文档,这些文件不必位于特定目录中。可以用如下两种方式之一运行 javadoc – 通过改变目录(用 cd)或完全指定 .java 文件的路径。选项 -sourcepath 在建立源文件的文档时没有作用。可使用命令行通配符,例如星号(*),指定多个类。 情况 1 - 换到源目录 - 换到保存 .java 文件的目录。然后运行 javadoc,并提供想要建立其文档的一个或多个源文件名。
该示例产生类 Button、Canvas 和以 Graphics 开头的类的 HTML 格式文档。因为是源文件而不是包名作为参数传递给 javadoc,所以文档具有两个框架 – 类列表和主页。 情况 2 - 改变到包的根目录 - 当要为相同根目录下不同子包中的单个源文件建立文档时,这是非常有用的。改变到包的根目录,并提供源文件相对于其根的路径。
该示例产生类 Button 和 Applet 的 HTML 格式文档。 情况 3 - 从任何目录 - 在这种情况下,当前目录是什么没有关系。运行 javadoc,并提供想要建立其文档的 .java 文件的绝对路径(或相对于当前目录的相对路径)。
该示例产生类 Button 和以 Graphics 开头的类的 HTML 格式文档。 建立包和类的文档可同时建立整个包和单个类的文档。下面是一个混合前两个示例的示例。可使用 -sourcepath 指定包的路径但不作为单个类的路径。
该示例生成包 java.awt 和类 Applet 的 HTML 格式文档(Javadoc 从 Applet.java 源文件中的包声明(如果有)中确定 Applet 的包名)。 实际示例Javadoc 有许多有用的选项,有些相对其他更为常用。下面是实际中我们用来在 Java 平台 API 上运行 javadoc 的命令,它使用了 makefile 变量(除了未列出所有要建文档的包之外)。
如果省略 -windowtitle 选项,则 javadoc 将文档标题复制到窗口标题。-windowtitle 选项是没有必要的,除非文档标题包含 HTML 标记。 如果像这里所做的一样省略 -footer 选项,则 javadoc 将页眉文本复制到脚注文本。 其他重要的选项是 -classpath 和 -link。 环境CLASSPATH 另请参阅javac |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/23 4:26:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |