+++
date = "2020-12-24"
title = "java通用doc文档(类参考手册)生成"
description = "java通用doc文档(类参考手册)生成"
tags = [ "内参考手册","chm"]
featured = true
+++
最近有点懵逼,考试整完了,然后又没有事情做,之前的学习计划拉下了一大片,不知道从何下手,然后医生要我减肥先减20斤,又开始锻炼了。 最近写的账本和之前写的代码,封装太严重了,隔一段时间去看,即使是注释写得还行,但是还是需要再简单整理下才行,于是动了java 代码生成 doc 或者chm 的想法。 其实感觉还是自己注释没有写好,但是呢,搞一个文档什么的,方便自己看,也方便提供给 他人,还是蛮好的。
chm 这个主要是之前学习的时候,老师会给一个这个文件,然后自己看api也是蛮好的,之前都一直觉得,只要我看代码注释就行,之前都是独立开发或者打下手,独立开发自己懂就行,然后打下手的时候,封装和工具类一般都不是我写,我只需要看git更新,然后去看代码就大概知道加了什么新的东西,而且我有习惯,相关的会写到一个文件里面。
近来,上一个Android走了,来了一个新的大佬,虽然我依旧是打下手的,可能交付和注释没有太清晰。
昨天就开始有这个文档生成的想法了,去掘金沸点也问过,github,baidu 问java doc 大多数都是接口相关的。今天突然想起 我需要的可能是 " 类参考手册",而不是通俗的java doc ,也不是大佬说的 swagger。
所以,给我提供帮助的是后台大佬,这是小老弟的荣幸。
虽然知道自己需要的可能是chm,但是找不到下手点,网络上的教程还是不是太多,大多数都是java doc的。于是打算从编辑器本身上找,讲道理,我看过太多类参考手册,几乎一模一样,我就不信他不是自动生成的,都2020年了,抓注释这个我理解起来都不难。
由于我用的是idea和Android studio,所以就直接找idea里面的了,
第一个导出为html的位置
个人感觉,这个不适合我。file->export
通过上面的选项选择,就可以将代码到处为html 文件了,选项很好理解就不介绍了。下面是我导出的文件。
在本地目录:
打开index:
打开JAVA文件:
这个感觉和网络上有些静态资源很像。明显不是我想要的。
第2 种导出方法
tools->generate java doc
本地目录
index 展示效果
看效果就是我想要的类参考手册的样子,完美,我很喜欢。
注释导致的问题
比如说我这方法。
生成的文档方法详情
可以明显的看出来,注释什么的都还是导出来了的,传入字段的介绍也有,因为我返回值 没有进行介绍,所以就没有返回值介绍。所以如果需要导出的内容完整,方法介绍还是应该写完整的。
运行
这个调调就简单了,我们知道gitee page 支持静态网页,而且这个调调本身就是静态网页,本地运行还是放平台就看自己的想法了
结尾
当然了,你说鸡肋吧,还是没有啥用,但是有的时候还是有点用的,起码只看方法名,传参,返回值,不需要受太长的业务逻辑影响。虽说可能就我不知道这个,但是还是记一下吧。 不说了,我去把注释整完整。
注释头
防止有人想要这个注释头。所以直接提供一个。
/**
*························.::::.
*······················.::::::::.
*·····················:::::::::::
*··················..:::::::::::'
*···············'::::::::::::'
*·················.::::::::::
*············'::::::::::::::..
*·················..::::::::::::.
*···············``::::::::::::::::
*················::::``:::::::::'········.:::.
*···············::::'···':::::'·······.::::::::.
*·············.::::'······::::·····.:::::::'::::.
*············.:::'·······:::::··.:::::::::'·':::::.
*···········.::'········:::::.:::::::::'······':::::.
*··········.::'·········::::::::::::::'·········``::::.
*······...:::···········::::::::::::'··············``::.
*·····````':.··········':::::::::'··················::::..
*························'.:::::'····················':'````..
****************************************************************·
* @Author: yangfan
* @Date: ${DATE} ${TIME}
* 功能描述:
* todo:
* 备注:
*/
使用:
也没有想的那么好,只有建class 有用,而且采用模板是使用不了这个的,模板里面添加 注释,我写还有点问题,稍后再说。