class ExampleDoclet extends Doclet {
public static boolean start(RootDoc root) {
ClassDoc[] classes = root.classes();
for (ClassDoc cls : classes) {
System.out.println(cls);
MethodDoc[] methods = cls.methods();
for (MethodDoc meth : methods) {
System.out.println(meth);
return true;
编译之前需要添加tools.jar库到项目中:
tools.jar在jdk下可以找到,如:
D:\Program Files\Java\jdk1.8.0_66\lib\tools.jar。
在eclipse中添加方法如下:
Project -> Properties -> Java Build Path -> Libraries -> Add External Jars
选中tools.jar即可。
执行命令:
>javadoc -doclet com.hc.ExampleDoclet.ExampleDoclet -docletpath bin/ .\src\com\hc\ExampleDoclet\ExampleDoclet.java
输出结果:
正在加载源文件.\src\com\hc\ExampleDoclet\ExampleDoclet.java...
正在构造 Javadoc 信息...
com.hc.ExampleDoclet.ExampleDoclet
com.hc.ExampleDoclet.ExampleDoclet.start(com.sun.javadoc.RootDoc)
如果出现以下信息,只需要把tools.jar添加到CLASSPATH路径即可,tools.jar一般在jdk目录的lib下,也可以在javadoc中指定classpath:
>javadoc -classpath "%JAVA_HOME%/../lib/tools.jar" -doclet com.hc.ExampleDoclet.ExampleDoclet -docletpath bin/ .\src\com\hc\ExampleDoclet\ExampleDoclet.java
向Doclet内传入选项
要接受函数需要实现optionLength方法,控制选项跟随的参数个数。
package com.hc.ExampleDoclet;
import java.util.HashMap;
import java.util.Map;
import com.sun.javadoc.*;
public class ExampleDoclet extends Doclet {
public static boolean start(RootDoc root) {
String[][] opt
doclet可以代替javadoc的输出,借由javadoc可以获取源码几乎所有的信息,类名、类变量、类方法、方法参数、注解、javadoc注释等都可以获取到,然后根据自己的需要把关心的信息输出成自定的格式。
Doclava是Google的自
定义Javadoc Doclet,由Google Guice使用(请参阅稍冷的
Javadocs )。 Doclava使用JSilver作为其模板引擎,这是Clearsilver的纯Java
实现。 我个人喜欢联合文档的想法,它允许文档在打开的项目上相互链接和集成。 这是Doclava与标准
Doclet之间的主要区别:
刷新后的外观,包括搜索功能。
原文地址:http://hi.baidu.com/topguntopgun/blog/item/237cd5569a404948564e0096.html
Doclet 是用 JavaTM编程语言编写的程序,它用
doclet API
指定 Javadoc 工具的输出内容和格式。缺省情况下,Javadoc 工具用 SunTM 提供的“标准”doclet 来生成 HTML 形式的 AP
方法,参数,异常和返回值。
提供样本覆盖率报告。
当前的IDE会警告您缺少
JavaDoc标记和文档,可以让您单独解决问题,但情况不大。 类似于代码覆盖率工具,此插件提供了一种获取项目文档覆盖率概述的方式。 它提供了一个 ,可与
JavaDoc Tool一起使用,以显示项目的
JavaDoc文档范围。
使用插件的更简单方法是通过Maven或Gradle。 您可以使用直接从命令行调用
<br />http://hi.baidu.com/giter/blog/item/d9fcd6431446f41673f05d1f.html<br /> <br />2.3 使用Ant执行任务<br />
X
Doclet“嫁”给了Ant。X
Doclet任务就是Ant的自
定义任务,除此以外,没有其他运行X
Doclet任务的方法。所幸的是,Ant已经成
为了Java构建工具事实上的标准,所以这不算什么限制。事实上,反过来,X
Doclet与Ant的这种“亲密”关系使得X
Doclet可以参与到任何
工作中经常需要对外提供接口,这个时候接口的文档就非常麻烦,同时是维护在wiki或者其他地方,但是修改代码之后很可能没有及时更新wiki,造成很多交流的成本。所以想直接通过javadoc 生成接口文档的方式。发现maven提供的javadoc插件,但是原生的Doclet不能满足我的要求。所以需要自己定义doclet。来看下Doclet的定义:
Doclet 是用 JavaTM编程语言编写的程序,它
Java自带的doclet有一些默认的输出格式,但是有时候我们希望根据特定需求自定义输出格式。Java提供了API来扩展doclet功能,可以通过自定义doclet输出实现我们的需求。
自定义doclet输出可以通过编写自己的doclet类来实现,使用Javadoc命令行工具运行自定义doclet类,即可输出所需的文档。
自定义doclet输出需要步骤如下:
1. 定义Doclet类
Doclet类是自定义doclet输出的核心,需要实现com.sun.javadoc.Doclet接口。在这个接口的文档注释中可以找到接口的详细信息,可以根据需要实现接口中的方法,定制我们的输出。
2. 生成HTML格式输出
我们通常希望生成HTML格式的文档,可以使用相应的API生成HTML格式的文档。API提供了一些方法,如startRootDoc()和appendToOutput()用于生成HTML格式的文档。
3. 运行自定义doclet
我们可以通过Javadoc命令行工具(javadoc命令行工具包含在Java SDK中)来运行自定义doclet。为了运行自定义doclet,需要使用以下命令:
javadoc -doclet com.mycompany.MyDoclet -sourcepath src MyJavaFile.java
其中,com.mycompany.MyDoclet是自己定义的doclet类,src是Java源代码的路径,MyJavaFile.java是要生成文档的Java文件。
通过自定义doclet输出,我们可以输出非常具有定制化的文档,以适应实际的需求。要想达到最佳的效果,需要对API和标准HTML技术有一定的了解。