javadoc 文档注释
文档注释写法文档注释:/**...*/则是为支持jdk工具javadoc.exe而特有的注释语句。javadoc工具能从java源文件中读取第三种注释,并能识别注释中用@标识的一些特殊变量,制作成HTML格式的类说明文档。javadoc不但能对一个java源文件生成注释文档,而且能对目录和包生成交叉链接的html格式的类说明文档@author作者名@version版本标识@parameter参数名及其意义@since最早出现的JDK版本@return返回值@throws异常类及抛出条件@deprecated引起不推荐使用的警告@see交叉参考
api文档生成javadoc作用命令处理范文javadoc工具默认只处理以public或protected修饰的
类、接口、方法、成员变量、构造器,内部类之前的文档注释。其他地方,如方法中,构造函数中,……的文档注释,javadoc工具不会处理。
提取private的内容如果开发者确实希望javadoc工具可以提取private修饰的内容,则可以在使用javadoc工具时增加-private选项
javadoc命令格式javadoc命令的基本用法如下:
1javadoc选项Java源文件|包javadoc的常用选项有如下几个。
-d:该选项指定一个路径,用于将生成的API文档放到指定目录下,如果不指定则放在当前目录下-windowtitle:该选项指定一个字符串,用于设置API文档的浏览器窗口标题。-doctite:该选项指定一个HTML格式的文本,用于指定概述页面的标题。-header:该选项指定一个HTML格式的文本,包含每个页面的页眉。除此之外,javadoc命令还包含了大量其他选项,读者可以通过在命令行窗口执行javadoc-help来查看javadoc命令的所有选项。javadoc命令可对源文件、包生成API文档,在上面的语法格式中,Java源文件可以支持通配符,例如,使用*.java来代表当前路径下所有的Java源文件。
实例JavadocTagTest.java:
12345678910111213141516171819packagemyjavadoc.test;/***Description:*这是当前类的简介*@authorSillyblue*@version1.0*/publicclassJavadocTagTest{/***一个得到打招呼字符串的方法。*@paramname该参数指定向谁打招呼。*@return返回打招呼的字符串。*/publicStringhello(Stringname){returnname+",你好!";}}Test.java:
12345678910111213141516171819202122packagemy.test;/***Description:*这是一个测试类.*哈哈哈哈哈哈.*/publicclassTest{/***简单测试成员变量*/publicintage;/***Test类的测试构造器*/publicTest(){}}测试:
1javadoc-dC:UserslanDesktopTestJavaDoc-windowtitle测试windowtitle-doctitle测试doctile-header测试headerTest.javaJavadJavadocTest.java到路径C:UserslanDesktopTestJavaDoc下,可以看到有一堆html,css,js等文件:浏览器打开index.html,这个是我们生成的api的入口,各个选项对应的位置:不指定-windowtitle,-doctitle,-header的效果如下:
1javadoc-dC:UserslanDesktopTestJavaDocTest.javaJavadocTagTest.java显示效果:
javadoc标记标记的使用是有位置限制的可以出现在类或者接口文档注释中的有@see、@deprecated、@author、@version等;
序号英文读音1deprecated2authorjavadoc标记@see的运用see的句法有三种:
参考链接Javadoc使用详解
JavaDoc文档生成
IntelliJIDEA作为Java流行的编辑器,其生成一些Javadoc会对中文乱码,使用UTF-8编码即可.这个常见的问题,则需要生成时设置参数即可.在“Tools->GerenateJavaDoc”面版的“Othercommandlinearguments:”栏里输入:传入JavaDoc的参数,一般这样写-encodingUTF-8-charsetUTF-8-windowtitle"文档HTML页面标签的标题"-linkdocs.Oracle.com/javase/7/do…不然的话会报可能会报错误:编码GBK的不可映射字符。
javadoc生成文档API以及解决lombok注解没有字段生成问题
将Lombok注解应用到一个项目中可以大大减少在IDE中生成或手工编写的样板代码行数。这样可以减少维护开销,减少bug,提高类的可读性。
在idea中要使用lombok是很简单的事情,只需要安装一个lombokplugin,然后在pom.xml加入对lombok的依赖即可。
org.projectlomboklombok1.18.4与任何技术选择一样,使用Lombok既有积极的作用,也会有消极的影响。而最典型的不好的一面就是,将源代码生成javadoc的时候,因为源码里边使用了lombok,只声明了private的属性,而未编写setter/getter方法等,最后生成的文档当然就不会包含这些属性的getter和setter方法。先通过一个简单的例子复现一下这个场景。
一、问题重现要用idea生成javadoc,需要引入javadoc的plugin,在pom.xml中加入引入即可。详情可参见官网。
1、我们用idea创建一个lombok的示例项目,pom.xml是这样的:
4.0.0com.dengxiaolonglombok1.0.0org.projectlomboklombok1.18.2providedorg.apache.maven.pluginsmaven-javadoc-plugin利用lombok定义一个简单的DTO类如下:
packagecom.dengxiaolong.lombok;importlombok.Data;@DatapublicclassFooDto{privateintid;privateStringname;privateStringemail;}
2、引入依赖后,点击idea的右侧,就可以看到javadoc的相关命令了。我们双击执行”javadoc:javadoc”这个命令即可。
执行完成后,会在项目的target/site/apidocs/目录重生成javadoc。点击查看会发现GiftVo类中的字段id、name、email都没有出现在javadoc中。
二、成本和收益对于Lombok的成本和收益,在Lombok的官网的文章中,做了详细地介绍,为了解决Lombok带来的问题,官方也提供了相应的***解决方案——delombok***,它的作用就是将Lombok的注解还原成等效的源代码。可以通过命令行使用:
java-jarlombok.jardelomboksrc-dsrc-delomboked当然,也可以通过ant任务来实现。不过,本文要探讨的还是基于idea来解决这个问题。
使用delombok既然提供了delombok,那么我们就可以考虑通过它来生成源代码,然后再想办法让javadoc来通过源代码的目录生成javadoc,这样我们就能一方面享受lombok的好处,一方面又能避免它带来的问题了。
至此,我们可以这样来完成我们的目标了:
1、要使用delombok,我们需要配置一个lombok的maven插件到pom.xml:
...org.projectlomboklombok-maven-plugin1.18.0.0UTF-8src/main/java2、在右侧MavenProjects里边找到”lombok:delombok”的任务,双击执行。执行成功后,会在target/generated-sources/delombok目录生成的等效源代码。
3、修改javadoc的源代码目录delombok生成了一份新的等效源代码后,我们就需要修改javadoc的源代码的目录了,同使用lombok的插件一样,我们只需要在配置里边增加sourcepath的配置项即可。
sourcepath用来指定查找源文件(.java)的搜索路径,可以通过用冒号(:)分隔多个路径。
...org.apache.maven.pluginsmaven-javadoc-plugin3.0.1target/generated-sources/delombok...4、然后,我们再通过右侧的MavenProjects执行javadoc:javadoc命令即可生成我们需要的javadoc文档了。
打开index.html
经过上面delombok和javadoc对于源代码目录的巧妙组合,我们一方面减少了开发时的代码量,另一方面也能保证javadoc生成的文档的完整性。这样一来,lombok就是非常完美的工具了。
javadoc自动生成开发文档
JavaDoc,在Java的注释上做文章2007-08-3009:11对于Java注释我们主要了解两种://注释一行
/*......*/注释若干行
但还有第三种,文档注释:
/**......*/注释若干行,并写入javadoc文档
通常这种注释的多行写法如下:
/***.........*.........*/
很多人多忽视了这第三种注释,那么这第三种注释有什么用?javadoc又是什么东西?下面我们就谈谈。
一.Java文档和Javadoc
Java程序员都应该知道使用JDK开发,最好的帮助信息就来自SUN发布的Java文档。它分包、分类详细的提供了各方法、属性的帮助信息,具有详细的类树信息、索引信息等,并提供了许多相
关类之间的关系,如继承、实现接口、引用等。
Java文档全是由一些html文件组织起来的,在SUM的站点上可以下载它们的压缩包。但是你肯定想不到,这些文档我们可以自己生成。——就此打住,再吊一次胃口。
安装了JDK之后,安装目录下有一个src.jar文件或者src.zip文件,它们都是以ZIP格式压缩的,可以使用WinZip解压。解压之后,我们就可以看到分目录放的全是.java文件。是了,这
些就是Java运行类的源码了,非常完整,连注释都写得一清二楚……不过,怎么看这些注释都有点似曾相识的感觉?
这就不奇怪了,我们的迷底也快要揭开了。如果你仔细对