简介
javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。
引自—-百度百科
文档注解说明
标签 | 说明 | 标示范围 |
---|---|---|
@author | 作者 | 包、接口、类 |
@version | 版本号 | 包、 类、接口 |
@param | 方法的入参名及描述信息,如入参有特别要求,可在此注释。 | 构造函数、 方法 |
@return | 方法返回值 | 方法 |
@deprecated | 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API。 | 包、类、接口、值域、构造函数、 方法 |
@throws | 构造函数或方法所会抛出的异常。 | 构造函数、 方法 |
@exception | 同@throws。 | 构造函数、 方法 |
{@see package.class#method} | 查看相关内容,如类、方法、变量等。 引用当前类 @see #field @see #method(Type, Type, …) @see #method(Type argname, Type argname, …) 引用当前包或倒入包中的类 @see class @see class#field @see class#method(Type, Type, …) @see class#method(Type argname, Type argname, …) 引用其它包 @see package @see package.class @see package.class#field @see package.class#method(Type, Type, …) @see package.class#method(Type argname, Type argname, …) |
包、类、接口、值域、构造函数、 方法 |
@since | API在什么程序的什么版本后开发支持。 | 包、类、接口、值域、构造函数、 方法 |
{@link package.class#method} | 链接到某个特定的成员对应的文档中。与@see 相同,但@see 必须在开头,@link 则不必 |
包、类、接口、值域、构造函数、 方法 |
{@value} | 当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值。 | 静态值域 |
javadoc命令常用参数说明
参数 | 说明 | 使用详情 |
---|---|---|
-d <路径> | 指定文档输出位置,生成的doc文档将输出到该目录下 | 可为相对路径或绝对路径 |
-windowtitle | 指定doc文档在浏览器标签栏中显示的标题 | |
-doctitle | 指定在文档首页显示的标题 | |
-header | 指定文档页左上角显示的标题 | |
-public | 仅显示公共类和成员 | |
-protected | 显示受保护/公共类和成员 | 默认 |
-package | 显示软件包/受保护/公共类和成员 | |
-private | 显示所有类和成员 | |
-link | 引用外部文档javadoc -link https://docs.oracle.com/javase/8/docs/api/ package |
|
-group | 分组java -group "核心包" "package1.package2*:package3" -group "扩展包" "package4" |
|
-sourcepath <路径列表> | 指定查找源文件的位置 | 类UNIX系统以: 分割,windows系统以; 分割 |
-classpath <路径列表> | 指定查找用户类文件的位置 | 类UNIX系统以: 分割,windows系统以; 分割 |
-exclude <软件包列表> | 指定要排除的软件包的列表 | 以: 分割 |
-subpackages <子软件包列表> | 指定要递归装入的子软件包 | 以: 分割 |
-verbose | 显示详细生成信息 |
需要获取更详细的参数说明可以到这里Sun官方说明
实例代码
目录结构及测试代码
测试用实例代码目录结构
1 | └── src |
Index.java
1 | package com; |
AddExt.java
1 | package com.impl.ext; |
AddService.java
1 | package com.impl; |
AddInterface.java
1 | package com.inf; |
生成方式
需在包目录下执行此命令,我们的例子中需要在src
目录下执行
指定所有包
javadoc -private -d ../doc -header 测试 -link https://docs.oracle.com/javase/8/docs/api/ -group "core" "com.impl*:com.inf" -group "ext" "com" com com/*/*.java com/*/*/*.java
指定包列表文件
packages文件
1 | com |
javadoc -private -d ../doc -header 测试 -link https://docs.oracle.com/javase/8/docs/api/ -group "core" "com.impl*:com.inf" -group "ext" "com" @packages
添加包的doc说明
以上方式添加的文档说明,无法应用到包上,如果需要给包添加doc文档,需要建立一个package-info.java
放置在相应的包下,我们以com
包为例,package-info.java
内容如下:
1 | /** |
将此文件放置在com
包下执行javadoc
命令即可。
为部分类生成javadoc文档
在执行javadoc
命令时,只需要在结尾指定需要生成文档的类所在的包名和类名即可。