命令格式及介绍
javadoc -d 文档存放目录 -author -version 源文件名.java
这条命令编译一个名为"源文件名.java"的 java 源文件,并将生成的文档存放在"文档存放目录"指定的目录下,生成的文档中 index.html 就是文档的首页。
-author 和 -version 两个选项可以省略。
javadoc的参数选项(在命令窗口中输入 javadoc -help)
1 用法: javadoc [options] [packagenames] [sourcefiles] [@files] 2 -overview <file> 从 HTML 文件读取概览文档 3 -public 仅显示 public 类和成员 4 -protected 显示 protected/public 类和成员 (默认值) 5 -package 显示 package/protected/public 类和成员 6 -private 显示所有类和成员 7 -help 显示命令行选项并退出 8 -doclet <class> 通过替代 doclet 生成输出 9 -docletpath <path> 指定查找 doclet 类文件的位置 10 -sourcepath <pathlist> 指定查找源文件的位置 11 -classpath <pathlist> 指定查找用户类文件的位置 12 -cp <pathlist> 指定查找用户类文件的位置 13 -exclude <pkglist> 指定要排除的程序包列表 14 -subpackages <subpkglist> 指定要递归加载的子程序包 15 -breakiterator 计算带有 BreakIterator 的第一个语句 16 -bootclasspath <pathlist> 覆盖由引导类加载器所加载的 17 类文件的位置 18 -source <release> 提供与指定发行版的源兼容性 19 -extdirs <dirlist> 覆盖所安装扩展的位置 20 -verbose 输出有关 Javadoc 正在执行的操作的信息 21 -locale <name> 要使用的区域设置, 例如 en_US 或 en_US_WIN 22 -encoding <name> 源文件编码名称 23 -quiet 不显示状态消息 24 -J<flag> 直接将 <flag> 传递到运行时系统 25 -X 输出非标准选项的提要 26 27 通过标准 doclet 提供: 28 -d <directory> 输出文件的目标目录 29 -use 创建类和程序包用法页面 30 -version 包含 @version 段 31 -author 包含 @author 段 32 -docfilessubdirs 递归复制文档文件子目录 33 -splitindex 将索引分为每个字母对应一个文件 34 -windowtitle <text> 文档的浏览器窗口标题 35 -doctitle <html-code> 包含概览页面的标题 36 -header <html-code> 包含每个页面的页眉文本 37 -footer <html-code> 包含每个页面的页脚文本 38 -top <html-code> 包含每个页面的顶部文本 39 -bottom <html-code> 包含每个页面的底部文本 40 -link <url> 创建指向位于 <url> 的 javadoc 输出的链接 41 -linkoffline <url> <url2> 利用位于 <url2> 的程序包列表链接至位于 <url> 的文档 42 -excludedocfilessubdir <name1>:.. 排除具有给定名称的所有文档文件子目录。 43 -group <name> <p1>:<p2>.. 在概览页面中, 将指定的程序包分组 44 -nocomment 不生成说明和标记, 只生成声明。 45 -nodeprecated 不包含 @deprecated 信息 46 -noqualifier <name1>:<name2>:... 输出中不包括指定限定符的列表。 47 -nosince 不包含 @since 信息 48 -notimestamp 不包含隐藏时间戳 49 -nodeprecatedlist 不生成已过时的列表 50 -notree 不生成类分层结构 51 -noindex 不生成索引 52 -nohelp 不生成帮助链接 53 -nonavbar 不生成导航栏 54 -serialwarn 生成有关 @serial 标记的警告 55 -tag <name>:<locations>:<header> 指定单个参数定制标记 56 -taglet 要注册的 Taglet 的全限定名称 57 -tagletpath Taglet 的路径 58 -charset <charset> 用于跨平台查看生成的文档的字符集。 59 -helpfile <file> 包含帮助链接所链接到的文件 60 -linksource 以 HTML 格式生成源文件 61 -sourcetab <tab length> 指定源中每个制表符占据的空格数 62 -keywords 使程序包, 类和成员信息附带 HTML 元标记 63 -stylesheetfile <path> 用于更改生成文档的样式的文件 64 -docencoding <name> 指定输出的字符编码
如何制作说明文档
使用 /**........*/ ,在该范围里面的内容会全部当作说明文档显示在生成的说明文档里面,如下事例:
1 package guide; 2 3 /** 4 * 这是针对文档注释专门练习的注释操作 5 * @author haoshuai.ni 6 * @version V1.0 7 */ 8 9 public class Guide { 10 // private Guide() { 11 // 12 // } 13 /** 14 * 这个是遍历数组 15 * @param arr 传入的数组名称 16 */ 17 public static void printArray(int[] arr) { 18 System.out.print("["); 19 for (int i=0;i<arr.length;i++) { 20 if (i == arr.length-1) { 21 System.out.print(arr[i]+"]"); 22 }else { 23 System.out.print(arr[i]+","); 24 } 25 } 26 System.out.println(); 27 } 28 29 /** 30 * 这个是获取数组中最大值 31 * @param arr 传入的数组名称 32 * @return 返回数组中最大值 33 */ 34 public static int getMax(int[] arr) { 35 int max = arr[0]; 36 for (int i=1;i<arr.length;i++) { 37 if (max < arr[i]) { 38 max = arr[i]; 39 } 40 } 41 return max; 42 } 43 44 /** 45 * 这是根据值获取在数组中的索引 46 * @param arr 传入的数组名称 47 * @param value 需要传入的查找值 48 * @return 返回该值的索引号 49 */ 50 public static int getIndex(int[] arr,int value) { 51 int index = -1; 52 for (int i=0;i<arr.length;i++) { 53 if (arr[i] == value) { 54 index = i; 55 break; 56 } 57 } 58 return index; 59 } 60 61 }
技巧:如果你是用eclipse的话,建议可以先将对应的方法写好,然后再写说明,只要你把 /** 写好后,然后一回车,该方法所涉及到的参数会全部自动给你打出来,可以节省输入的时间
如何生成说明文档:
1、进入到需要制作 java 说明文档的源代码路径下面
2、使用命令 javadoc -d doc -author -version Guide.java
a: -d doc 说明是制作一个doc 的路径,如果未指定相应的绝对路径,则会在该源代码的同级目录下生成一个 doc 的目录,后面的生成说明书就在该 doc 目录下
b: -author, -version 这两个是可选项,如果在源java 文件中有指定该两个值,则在生成说明文档时会读取到相应的值并显示在说明文档中
c: Guide.java 这是具体的需要制作说明文档的源文件,在实际过程中该文档名会不一样,需要修改
这样的话即表示说明书制作成功,如果有报错请根据具体错误进行修改源文件
3、查看说明文档
1、进入到 生成说明文档的路径
2、找到 index.html 文件并打开
3、点击类名称进入到该类里面所有方法
4、详细信息以供查看
5、点击具体方法名进入到详细的方法介绍
6、具体方法参数及返回值信息
FAQ
1、执行命令进行制作时报错,详细错误信息:javadoc: 错误 - 找不到可以文档化的公共或受保护的类。
解决方法:a:提示该错误时说明当前类的访问权限不够大,检查一下类的写法,为 class Guide(){}
b:增加该类的访问权限,添加修饰符 public,提升权限 , public class Guide(){}
c: 重新执行生成命令,成功
附错误截图: