【Javadoc生成开发文档(Terminal或IDEA中)】

2023-11-15

一、Javadoc工具介绍

大家在查看官网文档的时候,会不会感慨人家的帮助文档写的真有逻辑,层次分明?
在这里插入图片描述
不要羡慕,你也可以!Java官方提供了Javadoc工具,便于用户自己生成项目源码配套的API开发文档,供开发人员及其他用户查看使用。该工具通过对源码中定义的类、方法、变量的特定注释信息进行提取,生成对应的开发文档。只要编码人员在源码编写时,进行合法特定的信息注释,在编码结束后即可通过Javadoc工具生成配套的开发文档。
Javadoc工具现在已经不需要单独安装了,在安装JDK的时候已经附带配置好了,大家可去自己的JDK安装路径的bin目录下查看一下,是否存在javadoc.exe,如果存在说明我们可以直接使用,如下所示:
在这里插入图片描述

二、常用标记

上面提到,开发人员需要以特定的注释方式进行注释,Javadoc工具才可以成功生成配套文档,那么下面这些就是所说的特定注释方式,在源码文件中我们需要使用这些标记进行注释,最后才可以被成功识别(切记Java源码中使用文档注释方式):

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

更多可查看官方文档

三、使用方式

javadoc [选项] [java包名] [java源文件名]

其中常用选项如下图所示,大家不用记,需要时直接在本地Terminal中输入

javadoc -help

命令,就会出现如下所示的帮助信息,大家根据需要添加相应的选项即可。

在这里插入图片描述
当然,使用上述命令的前提是大家已经在自己本机中配置好了JDK的环境变量,因为上面提过javadoc.exe文件是在JDK安装目录的bin目录下的,如果没有配置环境变量,这里会提示该命令不存在的错误。

四、生成文档的两种方式

到这里,我已具体实例操作展示两种生成开发文档的过程:
对应文件内容如下:
在这里插入图片描述

1.Terminal方式

Terminal方式其实使用的很少了,毕竟现在各种IDE已经应用的很成熟,很多工作都是一键完成,这里还是简单介绍一下这种方式,大家了解即可:
1)打开本地Terminal(Win+R输入cmd即可):
在这里插入图片描述

2)进入源码对应的包(package):
在这里插入图片描述

3)输入javadoc命令生成开发文档即可(该文档会默认在当前目录下生成):
这里直接生成一个软件包对应的开发文档,也可直接生成单个java源文件的开发文档,此时需要进入到该源文件所在文件目录下。
在这里插入图片描述
生成结果如下:

在这里插入图片描述
使用浏览器打开此处的任意html文件,即可查看本项目对应的开发文档:
在这里插入图片描述

默认只会识别公共类、公共方法对应的注释信息,如果需要调整显示所有类、所有方法可通过第三节中提到的“选项 -private”进行设置。
在这里插入图片描述
4)解决中文乱码问题
此处需特别说明,如果源码中包括中文注释信息,在生成文档中可能会发生中文乱码的现象,我们可通过如下命令去解决,其实还是采用javadoc 命令中的编码选项:

javadoc -encoding UTF-8 -charset UTF-8 [包名] [源文件]

如此,在生成的开发文档中则不会发生乱码现象了:
在这里插入图片描述

2.IDE方式

热门的Java开发IDE当属IDEA,下面介绍一下IDEA中如何生成开发文档:
1)光标选中想要生成对应文档的目录或者文件,然后依次点击Tools->Generate JavaDoc
在这里插入图片描述

打开界面如下所示,在这里可进行开发文档输出目录、注释信息识别范围等选择:
注意此处输出目录建议选择“绝对路径”
在这里插入图片描述

对应生成结果与Terminal方式一样,大家自行测试即可:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Javadoc生成开发文档(Terminal或IDEA中)】 的相关文章

  • 在 JTable 中使用自定义 TablecellRenderer

    我是 Java 新手 我创建了一个JTable 就是这样addRow当我尝试向表中添加一行时 该方法有效 private void addTableRow String type String name String rank String
  • 如何修复安装 maven jar 插件依赖项时出现的错误?

    我正在将应用程序制作成 maven 中的 jar 文件 但是 当我从 Maven 中提取 jar 插件存储库并在终端中运行这三个命令时 mvn clean mvn compile mvn package 在 mvn package 中 我收
  • SWT:如何进行高质量图像调整大小

    我的应用程序需要调整 ImageData 的大小 不幸的是 我还没有通过 GC 开启抗锯齿和高插值 或 ImageData scaledTo 获得我想要的结果 生成的图像质量太低 无法接受 进行高质量 ImageData 调整大小的最佳方法
  • Java JNDI 名称 java:/

    我正在遵循教程 https docs oracle com javase tutorial jndi index html https docs oracle com javase tutorial jndi index html 我的冒险
  • 克隆 dom.Document 对象

    我的目的是将xml文件读入Dom对象 编辑dom对象 其中涉及删除一些节点 完成此操作后 我希望将 Dom 恢复到其原始状态 而不实际解析 XML 文件 无论如何 我可以克隆第一次解析 xml 文件后获得的 dom 对象吗 这个想法是避免一
  • Spring批量写入器限制

    我正在工作 Spring Batch 项目 从数据库读取记录然后写入rabbitmq 然后发送到HTTP消息网关 网关有150TPS我需要将我的应用程序限制为 150TPS 有没有办法带弹簧批的油门或者还有其他更好的方法吗 你能行的 在 S
  • 如何将 ArrayList 中的所有值相加或转换为 ArrayList

    我试图将 ArrayList 中的所有值相加 但没有任何方法可以让我得到总和 我必须找到从文本文件中提取的数字的平均值 public static void main String args throws IOException File
  • 声纳要求将这一领域定为最终目标

    我的程序中有以下代码 在与 Maven 集成后 我正在运行 SonarQube 5 对其进行代码质量检查 我面临这个错误 将此 public static processStatus 字段设为最终字段 将此 public static pr
  • 如何在 IdeaVIM 中配置 Vim 的 Ctrl + N 和 Ctrl + P 补全?

    在Vim中我们可以使用Ctrl N or Ctrl P完成代码补全 如何在 IdeaVim for IntelliJ 中配置它 Alt and Alt Shift 既可以在普通 IntelliJ 中工作 也可以在安装了 IdeaVim 的情
  • SQLiteAssetHelper 甚至在从资产文件夹复制数据库之前就导致立即崩溃

    https github com jgilfelt android sqlite asset helper https github com jgilfelt android sqlite asset helper 我要从SQLiteOpe
  • 使用嵌入式 Jetty 7 发布 JAX-WS 端点

    有人可以帮忙吗 我想使用嵌入式 Jetty 7 作为端点 这是我尝试过的 public class MiniTestJetty WebService targetNamespace http public static class Calc
  • SQLite 64位整数在jooq中被识别为int

    我有一个与 jOOQ 一起使用的 SQLite 数据库 当我使用 jOOQ 的代码生成工具时 它会按预期构建所有表和记录类 然而 所有的 SQLiteINTEGER列变成java lang Integer生成的代码中的字段 问题是 SQLi
  • 如何在 Java 中读取/转换 InputStream 为字符串?

    如果你有一个java io InputStream对象 您应该如何处理该对象并生成一个String 假设我有一个InputStream包含文本数据 我想将其转换为String 例如我可以将其写入日志文件 最简单的方法是什么InputStre
  • 使用 Jboss7 加载资源返回 null

    如何使用Jboss7 1从java代码中加载图像等资源 这曾经与 Jboss4 一起使用 this getClass getClassLoader getResourceAsStream myapp includes images imag
  • 如何保存/加载 BigInteger 数组

    我想保存 加载BigInteger数组传入 传出 SharedPreferences 如何做呢 例如对于以下数组 private BigInteger dataCreatedTimes new BigInteger 20 Using Gso
  • 使用mapstruct映射不同类型列表的元素

    我们正在映射一个对象 该对象具有一个对象列表 这些对象都实现了父接口 但可能具有不同的实现 但当我们映射列表时 似乎只有来自 ParentClass 的值被映射 而不是来自子类的值 但直接映射子进程就可以了 public class Par
  • java中从视频中提取图像

    我想知道如何使用 JMF 从视频中提取图像 Player player Manager createRealizedPlayer cdi getLocator player start FrameGrabbingControl frameG
  • 如何强制 Spark 执行代码?

    我如何强制 Spark 执行对 map 的调用 即使它认为由于其惰性求值而不需要执行它 我试过把cache 与地图调用 但这仍然没有解决问题 我的地图方法实际上将结果上传到 HDFS 所以 它并非无用 但 Spark 认为它是无用的 简短回
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • Eclipse 有 IntelliJ Keymapping 插件吗?

    我是一位 IntelliJ 老用户 现在正在从事一个需要 Eclipse 的项目 我不介意学习 Eclipse 默认键盘快捷键 如果有 但是很多操作都没有分配快捷键 grrrr 我想知道是否有任何插件可以自动将 IntelliJ 默认值分配

随机推荐

  • camera HSYNC:VSYNC

    HSYNC 行锁存 换行信号VSYNC 祯锁存 换页信号 320 240的屏 每一行需要输入320个脉冲来依次移位 锁存进一行的数据 然后来个HSYNC 脉冲换一行 这样依次输入240行之后换行同时来个VSYNC脉冲把行计数器清零 又重新从
  • MySql基础汇总-DDL DML DQL DCL,存储过程,事务,触发器,函数等

    use testdb 一 数据库操作语言 DDL 数据库定义语言 create drop alter DML 数据库管理语言 insert update delete DQL 数据库查询t usert student 语言 select D
  • upload-labs靶场全通关

    upload labs靶场全通关 pass 1 pass 2 pass 3 pass 4 pass 5 pass 6 pass 7 pass 8 pass 9 pass 10 pass 11 pass 12 pass 13 pass 14
  • linux如何入门

    微信设置水滴昵称 个性中带点萌 1 学习Linux之前先认识Unix l Unix是一个强大的多用户 多任务操作系统 l 于1969年在AT T的贝尔实验室开发 l UNIX的商标权由国际开放标准组织 The Open Group 所拥有
  • js逆向-常见DES加密

    声明 本文仅供参考学习 切勿用于他途 违者后果自负 前言 目标网站 aHR0cHM6Ly9wYXNzcG9ydC5jaGFuZ2hvbmcuY29tL2xvZ2luLmRvP3ZpZXc9dmlwJnNlcnZpY2U9aHR0cDovL2
  • 向上转型和向下转型

    一 概念 向上转型是指将子类的实例赋值给父类类型的变量 向下转型是指将父类的实例赋值给子类类型的变量 二 向上转型 1 向上转型后父类的引用所指向的属性是父类的属性 2 如果子类重写了父类的方法 那么父类引用指向的或者调用的方法是子类的方法
  • 如何使用VuePress开发并部署静态博客网站(附进阶的自定义主题教程)

    VuePress使用教程 前言 作为一个程序员 拥有一个自己的博客网站算得上是家常便饭了 每当我们解决一个问题时 及时总结并记录下来是一个对学习很有帮助的习惯 方便以后遇到同类型的问题时 不用再去百度谷歌找半天 而将这些内容发布在自己的博客
  • php之curl带头部header的post请求

    public function op url http www baidu com test na oh header array Accept Language zh CN x appkey 114816004000028 x apsig
  • 内联函数及其注意事项

    default argument 是编译器记住了default argument 但是运行时还是要两个参数的 编译器看到了原型声明 可以有default argument值 所以编译器替你补上了 建议 不要使用default argumen
  • java上机题编程题

    1 编写程序 用数组实现乘法小九九的存储和输出 提示 采用多个一维数组 public class Multipation public static void main String args TODO Auto generated met
  • Linux一句话精彩问答--

    0001 修改主机名 陈绪 vi etc sysconfig network 修改HOSTNAME一行为 HOSTNAME 主机名 没有这行 那就添加这一行 吧 然后运行命令 hostname 主机名 一般还要修改 etc hosts文件中
  • 【javascript】作用域的理解(LHS,RHS查询)

    作用域是什么 一 理解作用域 任何javascript代码片段在执行前都要进行编译 先看一个例子吧 先思考一下这行代码是如何被编译的 var a 33 估计大部分人看到这行代码 会说首先声明一个变量a 然后给它赋值33 但实际上并没有这么简
  • Linux系统与管理 - (三)Linux常用命令解析

    自说 学习路径 目录和文件 查找目录和文件 查看文件 压缩及解压 自说 操作Linux系统必不可少的常用命令 坚持学习吧 每天一点点 总归是有收获的 学习路径 Linux系统与管理 一 安装Linux系统 Linux系统与管理 二 Linu
  • pyautogui 使用示例

    文章目录 coding utf 8 import pyautogui import time def test distance 1000 time sleep 5 pyautogui moveTo 400 300 while distan
  • js做简易信息聊天

    div div div img src img img1 jpg div
  • 常用Pytorch中张量(Tensor)的创建

    from IPython core interactiveshell import InteractiveShell InteractiveShell ast node interactivity all import torch a to
  • 华为手机连电脑当摄像头用_DxOMark评六大最佳手机摄像头:华为P40 Pro独揽四个第一...

    来源 快科技 DxOMark今天发布了一份特殊的榜单 按照照片 视频 广角 夜间摄影 变焦 散景 背景虚化 六大类 评选出了每个分类表现最好的手机 结果华为P40 Pro四次上榜 另外两个则被三星拿下 最佳照片 华为P40 Pro 拍照成绩
  • 【CLIP详读】

    个人网站 https tianfeng space 一 前言 OpenAI的CLIP项目自从推出以来 CLIP引起了广泛的关注 它的方法看似简单 但效果非常出色 许多结果令人惊叹 例如 预训练模型可以在任何视觉分类数据集上实现出色的效果 而
  • ubuntu apt-get dpkg应用中的一些问题及解决方法

    一 在用sudo apt get install 安装软件时 由于速度太慢 想换个软件源 直接关闭了终端 apt get但进程没有结束 结果终端提示 E 无法获得锁 var lib dpkg lock open 11 资源暂时不可用 E 无
  • 【Javadoc生成开发文档(Terminal或IDEA中)】

    Javadoc生成开发文档 一 Javadoc工具介绍 二 常用标记 三 使用方式 四 生成文档的两种方式 1 Terminal方式 2 IDE方式 一 Javadoc工具介绍 大家在查看官网文档的时候 会不会感慨人家的帮助文档写的真有逻辑