【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中)】 的相关文章

  • Java-线程与CPU的关系

    我对多线程还很陌生 我正在开发一个项目 尝试在我的 Java 程序中使用 4 个 CPU 我想做类似的事情 int numProcessors Runtime getRuntime availableProcessors ExecutorS
  • 如何从 WifiP2pDeviceList 获取 wifi direct 设备名称

    我想在执行请求对等点时获取 wi fi direct 名称 这是我的代码 if WifiP2pManager WIFI P2P PEERS CHANGED ACTION equals action Log d tag success dis
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • 在 IntelliJ 上进行 Google App Engine Java 开发?

    令人烦恼的是 Google App Engine 已成为其中的另一个项目 他们只发布 Eclipse 插件 如 Spring Webflow 而我更喜欢 IntelliJ 你能用IntelliJ成功运行本地测试环境吗 并调试 部署本地或实时
  • 线程“main”java.lang.UnsatisfiedLinkError中出现异常:java.library.path中没有opencv_java249

    我目前正在尝试在我的 32 位笔记本电脑上设置 OpenCV 但我不断收到一条令我困惑的错误消息 Exception in thread main java lang UnsatisfiedLinkError no opencv java2
  • 使用 jpql 和 jpa 从日期字段中提取年份

    我想从数据库中的一行中提取年份部分 以便将其与值进行比较 这是我的功能 public List
  • firebase推送通知错误Spring Boot服务器端

    我正在尝试从 Spring Boot 服务器端发送通知到客户端 android 服务器运行良好 一切都很好 2020 09 01 08 13 07 691 INFO 18941 restartedMain e DevToolsPropert
  • 在 Hibernate 中创建 UPDATE RETURNING 查询

    在 Oracle 中 我们可以创建一个更新查询 该查询将使用 RETURNING 子句返回更新的记录 Hibernate中有类似的功能吗 除了数据库生成的值之外 Hibernate 显然不需要返回更新的实例 因为对象传递给Session s
  • 正确使用 JDBC 连接池 (Glassfish)

    我需要在 Java Web 服务中作为会话 bean 实现数据库连接 但我不确定我这样做是否正确 我创建了一个类 public final class SQLUtils private static DataSource m ds null
  • 从关卡堆栈中获取相对比例的数学

    为这个可怕的标题道歉 我花了 10 分钟试图用一句话来解释这一点 但失败了 虽然提示这个问题的应用程序是用Java Android 编写的 但我认为它非常通用并且适用于任何语言 欢迎使用伪代码 或简单的英语 回复 我不确定是否应该标记所有通
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • 使用Java开发跨平台,不同平台字体缩放不同

    我正在为我的大学制作一些软件 需要一个 GUI 在它的第一个版本中 我让它使用系统外观 因此它看起来像 Linux Mac Windows 中的本机应用程序 我发现这很麻烦 因为我必须根据操作系统使所有 JLabel 具有不同的大小 无论分
  • HTTP PUT 在 Java 中上传文件

    Edit 我想我已经弄清楚如何执行二进制数据部分 仔细检查代码 但我很确定我做对了 现在 当我尝试按照中所述完成上传时遇到新错误Vimeo API 文档 http vimeo com api docs upload streaming Ed
  • 如何使用云打印打印Android活动显示

    我正在尝试将 Google 云打印实现到应用程序中 遵循集成指南 https developers google com cloud print docs android 我试图通过打印 google com 来保持基本 单击我创建的打印按
  • 无法映射 ftl 文件中的 jsonRequest 属性

    我想在 FTL 文件中映射下面的 json 文件市场和子市场字段 但是当我尝试下面的代码时 它没有映射 有人可以帮助我吗 我从 2 天开始就无法映射它 Json请求 ProcessOrderRequest prevalidationMode
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • 从命令行运行 Maven 插件的语法是什么。

    我看到这里已经有人问过这个问题 如何从命令行执行maven插件 https stackoverflow com questions 12930656 how to execute maven plugin from command line
  • Google Cloud Messaging - 立即收到或长时间延迟收到的消息

    我在大学最后一年的项目中使用谷歌云消息传递 一切正常 但我在使用 GCM 时遇到了一些麻烦 通常 消息要么几乎立即传递 要么有很大的延迟 我读过这篇文章 但我真的认为它不适用于这种情况 GCM 通常会在消息发送后立即传送消息 然而 这并不总
  • JMockit - 初始化问题

    当我使用以下测试时 我收到警告 警告 JMockit 是按需初始化的 这可能会导致某些测试失败 请检查文档以获取更好的初始化方法 这是我的测试实现 package test import static mockit Mockit impor
  • Libgdx 和 Google 应用内购买结果

    我遵循了这些指示 https github com libgdx libgdx wiki Interfacing with platform specific code使用 ActionResolver 接口集成 Libgdx 和原生 An

随机推荐

  • 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工具介绍 大家在查看官网文档的时候 会不会感慨人家的帮助文档写的真有逻辑