javadoc.exe 是 JDK(Java Development Kit)中的一个工具,用于根据 Java 代码生成 API 文档。它可以为 Java 代码中的每个类、方法和变量生成 HTML 文档,使开发人员可以更好地理解和使用 Java 应用程序的 API。
javadoc [options] [packagenames] [sourcefiles] [@files]
-overview <file> 从 HTML 文件读取概览文档
-public 仅显示 public 类和成员
-protected 显示 protected/public 类和成员 (默认值)
-package 显示 package/protected/public 类和成员
-private 显示所有类和成员
-help 显示命令行选项并退出
-doclet <class> 通过替代 doclet 生成输出
-docletpath <path> 指定查找 doclet 类文件的位置
-sourcepath <pathlist> 指定查找源文件的位置
-classpath <pathlist> 指定查找用户类文件的位置
-cp <pathlist> 指定查找用户类文件的位置
-exclude <pkglist> 指定要排除的程序包列表
-subpackages <subpkglist> 指定要递归加载的子程序包
-breakiterator 计算带有 BreakIterator 的第一个语句
-bootclasspath <pathlist> 覆盖由引导类加载器所加载的类文件的位置
-source <release> 提供与指定发行版的源兼容性
-extdirs <dirlist> 覆盖所安装扩展的位置
-verbose 输出有关 Javadoc 正在执行的操作的信息
-locale <name> 要使用的区域设置, 例如 en_US 或 en_US_WIN
-encoding <name> 源文件编码名称
-quiet 不显示状态消息
-J<flag> 直接将 <flag> 传递到运行时系统
-X 输出非标准选项的提要
通过标准 doclet 提供:
-d <directory> 输出文件的目标目录
-use 创建类和程序包用法页面
-version 包含 @version 段
-author 包含 @author 段
-docfilessubdirs 递归复制文档文件子目录
-splitindex 将索引分为每个字母对应一个文件
-windowtitle <text> 文档的浏览器窗口标题
-doctitle <html-code> 包含概览页面的标题
-header <html-code> 包含每个页面的页眉文本
-footer <html-code> 包含每个页面的页脚文本
-top <html-code> 包含每个页面的顶部文本
-bottom <html-code> 包含每个页面的底部文本
-link <url> 创建指向位于 <url> 的 javadoc 输出的链接
-linkoffline <url> <url2> 利用位于 <url2> 的程序包列表链接至位于 <url> 的文档
-excludedocfilessubdir <name1>:.. 排除具有给定名称的所有文档文件子目录。
-group <name> <p1>:<p2>.. 在概览页面中, 将指定的程序包分组
-nocomment 不生成说明和标记, 只生成声明。
-nodeprecated 不包含 @deprecated 信息
-noqualifier <name1>:<name2>:... 输出中不包括指定限定符的列表。
-nosince 不包含 @since 信息
-notimestamp 不包含隐藏时间戳
-nodeprecatedlist 不生成已过时的列表
-notree 不生成类分层结构
-noindex 不生成索引
-nohelp 不生成帮助链接
-nonavbar 不生成导航栏
-serialwarn 生成有关 @serial 标记的警告
-tag <name>:<locations>:<header> 指定单个参数定制标记
-taglet 要注册的 Taglet 的全限定名称
-tagletpath Taglet 的路径
-charset <charset> 用于跨平台查看生成的文档的字符集。
-helpfile <file> 包含帮助链接所链接到的文件
-linksource 以 HTML 格式生成源文件
-sourcetab <tab length> 指定源中每个制表符占据的空格数
-keywords 使程序包, 类和成员信息附带 HTML 元标记
-stylesheetfile <path> 用于更改生成文档的样式的文件
-docencoding <name> 指定输出的字符编码
假如我们有一个 ColorPalette.java 类,该类将创建一个简单的 AWT 窗口,代码如下:
package com.hxstrive.demo6; import java.awt.*; import java.awt.event.*; /** * AWT 简单窗口 * @author hx */ public class ColorPalette { public static void main( String args[]) { Frame frame = new Frame("Color Palette"); frame.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e){ System.exit(0); } }); frame.setSize(500,300); frame.setLocation(450,200); frame.setVisible( true); } }
执行 javadoc -encoding UTF-8 -charset UTF-8 ColorPalette.java 命令,生成该类的 JavaDoc 文档,如下图:
当命令成功执行后,将在当前目录下面生成 JavaDoc 文档,如下图:
运行 index.html 页面,然后选择 ColorPalette,效果如下图:
当然,我们还可以通过 -d docs 选项将文档生成到 docs 目录,如下图:
前面介绍了如何通过命令行执行 javadoc 生产单个 java 源码的文档,下面将介绍如何通过 IDEA 生产整个项目的文档,点击“Tools”菜单,选择“Generate JavaDoc...”,如下图:
在“Generate JavaDoc”弹框中设置导出文档信息,如输出目录“Output directory”、字符编码等等,如下图:
生成成功后,运行 index.html 页面,效果如下图:
注意,使用 IDEA 生产文档的命令如下:
"C:\Program Files\Java\jdk1.8.0_171\bin\javadoc.exe" -protected -splitindex -encoding UTF-8 -charset UTF-8 -d C:\Users\Administrator\Desktop\docs @C:\Users\Administrator\AppData\Local\Temp\javadoc_args
其中:
-protected 显示 protected/public 类和成员 (默认值)
-splitindex 将索引分为每个字母对应一个文件
-encoding UTF-8 源文件编码名称
-charset UTF-8 用于跨平台查看生成的文档的字符集
-d C:\Users\Administrator\Desktop\docs 输出文件的目标目录
@C:\Users\Administrator\AppData\Local\Temp\javadoc_args
以下是更多的 javadoc.exe 命令示例:
javadoc -d docs -sourcepath src com.example 生成包含所有类的文档
javadoc -d docs -sourcepath src com.example.MyClass 生成指定类的文档
javadoc -tag mytag:a:"My Custom Tag" 指定要包含的标签
javadoc -d docs -sourcepath src -html5 com.example 生成 HTML 格式的文档
javadoc -d docs -sourcepath src -author -version com.example 生成包含作者和版本信息的文档
javadoc -d docs -sourcepath src -private com.example 生成包含私有成员的文档
javadoc -d docs -sourcepath src -use com.example 生成包含类的继承关系图的文档