在IntelliJ IDEA中为自己设计的类库生成JavaDoc的方法示例

作者:小侠猫猫球 时间:2023-11-25 09:49:02 

因为某个项目需要,为团队其他兄弟姐妹开发了一个 XML 分析处理器,并将其设计为一个类库,提供相应的 API 接口。为了方便大家的使用,需要生成对应的 JavaDoc 帮助文档,就像 JavaSE 标准库提供的 JavaDoc 那样。我的开发工具为 IntelliJ IDEA 12.1.6,本身提供了很好的 JavaDoc 生成功能,以及标准 JavaDoc 注释转换功能,其实质是在代码编写过程中,按照标准 JavaDoc 的注释要求,为需要暴露给使用者的类、方法以及其他成员编写注释。然后使用 IDEA 的功能自动调用 javadoc.exe(JDK 自带的工具)根据源代码中的注释内容自动生成 JavaDoc 文档(超文本格式)。标准 JavaDoc 的注释规则,大家可以在网上很容易搜索到,这里有几点倒是要特别注意一下:

1.IDEA 的 JavaDoc 生成功能在菜单 Tools->Generate JavaDoc 项里面。

2.点击上述菜单项后,会出现生成 JavaDoc 的对话框,一般的选项都很直观,不必细说。但是要注意生成 JavaDoc 的源代码对象的选择,一般以模块(Module)为主,必要时可以单独选择必要的 Java 源代码文件,不推荐以 Project 为 JavaDoc 生成的源范围。

3.里面有一个 Locale 可选填项,表示的是需要生成的 JavaDoc 以何种语言版本展示,根据 javadoc.exe 的帮助说明,这其实对应的就是 javadoc.exe 的 -locale 参数,如果不填,默认可能是英文或者是当前操作系统的语言,既然是国人,建议在此填写 zh_CN,这样生成的 JavaDoc 就是中文版本的,当然指的是 JavaDoc 的框架中各种通用的固定显示区域都是中文的。你自己编写的注释转换的内容还是根据你注释的内容来。

4.还有一个“Other command line arguments:”可选填项,非常重要,是填写直接向 javadoc.exe 传递的参数内容。因为有一些重要的设置,只能通过直接参数形式向 javadoc.exe 传递。这里必须要填写如下参数:

-encoding UTF-8 -charset UTF-8 -windowtitle "你的文档在浏览器窗口标题栏显示的内容" -link http://docs.oracle.com/javase/7/docs/api

5.第一个参数 -encoding UTF-8 表示你的源代码(含有符合 JavaDoc 标准的注释)是基于 UTF-8 编码的,以免处理过程中出现中文等非英语字符乱码;第二个参数 -charset UTF-8 表示在处理并生成 JavaDoc 超文本时使用的字符集也是以 UTF-8 为编码,目前所有浏览器都支持 UTF-8,这样最具有通用性,支持中文非常好;第三个参数 -windowtitle 表示生成的 JavaDoc 超文本在浏览器中打开时,浏览器窗口标题栏显示的文字内容;第四个参数 -link 很重要,它表示你生成的 JavaDoc 中涉及到很多对其他外部 Java 类的引用,是使用全限定名称还是带有超链接的短名称,举个例子,我创建了一个方法 public void func(String arg),这个方法在生成 JavaDoc 时如果不指定 -link 参数,则 JavaDoc 中对该方法的表述就会自动变为 public void func(java.lang.String arg),因为 String 这个类对我自己实现的类来讲就是外部引用的类,虽然它是 Java 标准库的类。如果指定了 -link http://docs.oracle.com/javase/7/docs/api 参数,则 javadoc.exe 在生成 JavaDoc 时,会使用 String 这样的短名称而非全限定名称 java.lang.String,同时自动为 String 短名称生成一个超链接,指向官方 JavaSE 标准文档 http://docs.oracle.com/javase/7/docs/api 中对 String 类的详细文档地址。-link 实质上是告诉 javadoc.exe 根据提供的外部引用类的 JavaDoc 地址去找一个叫 package-list 的文本文件,在这个文本文件中包含了所有外部引用类的全限定名称,因此生成的新 JavaDoc 不必使用外部引用类的全限定名,只需要使用短名称,同时可以自动创建指向其外部引用 JavaDoc 中的详细文档超链接。每个 JavaDoc 都会在根目录下有一个 package-list 文件,包括我们自己生成的 JavaDoc。

JavaDoc 生成完毕,即可在其根目录下找到 index.html 文件,打开它就可以看到我们自己的标准 JavaDoc API 文档啦。

javadoc常用标识

@author 作者
@version 版本号
@param 参数名 描述 方法的入参名及描述信息,如入参有特别要求,可在此注释。
@return 描述 对函数返回值的注释
@deprecated 过期文本 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API。
@throws异常类名 构造函数或方法所会抛出的异常。
@exception 异常类名 同@throws。
@see 引用 查看相关内容,如类、方法、变量等。
@since 描述文本 API在什么程序的什么版本后开发支持。
{@link包.类#成员 标签} 链接到某个特定的成员对应的文档中。
{@value} 当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值。

来源:https://www.cnblogs.com/cyberniuniu/p/5021910.html

标签:IDEA,生成,JavaDoc
0
投稿

猜你喜欢

  • Java 生成PDF文档的示例代码

    2022-10-31 17:39:10
  • JAVA读取文件夹大小的几种方法实例

    2021-05-24 21:01:53
  • Java Code Cache满导致应用性能降低问题解决

    2021-06-18 18:17:56
  • Java虚拟机内存结构及编码实战分享

    2023-11-29 13:47:47
  • 一次排查@CacheEvict注解失效的经历及解决

    2023-11-13 12:07:23
  • Spring4如何自定义@Value功能详解

    2021-12-16 06:31:12
  • C#如何操作Excel数据透视表

    2021-09-01 20:18:42
  • Android实现腾讯新闻的新闻类别导航效果

    2023-07-29 04:17:46
  • Java进程cpu占用过高问题解决

    2021-08-09 00:16:59
  • 基于私钥加密公钥解密的RSA算法C#实现方法

    2022-12-01 07:52:37
  • Android4.4 WebAPI实现拍照上传功能

    2023-08-17 00:46:21
  • Go Java算法猜数字游戏示例详解

    2022-03-02 21:01:50
  • Unity3D 计时器的实现代码(三种写法总结)

    2022-02-10 08:51:08
  • 解决logback-classic 使用testCompile的打包问题

    2021-07-01 08:16:50
  • java反射获取和调用方法

    2021-11-23 11:05:02
  • C#面向对象的23种设计模式介绍

    2023-01-23 18:02:50
  • Java基础之List内元素的排序性能对比

    2023-04-05 15:13:58
  • 实例讲解Android应用开发中TabHost的使用要点

    2023-11-05 06:52:14
  • JDK1.8中的ConcurrentHashMap源码分析

    2023-11-27 06:02:32
  • Flutter组件生命周期和App生命周期示例解析

    2022-07-18 23:15:59
  • asp之家 软件编程 m.aspxhome.com