实现javadoc自定义输出——doclet

什么是doclet

doclet可以代替javadoc的输出,借由javadoc可以获取源码几乎所有的信息,类名、类变量、类方法、方法参数、注解、javadoc注释等都可以获取到,然后根据自己的需要把关心的信息输出成自定的格式。

一个简单的doclet类

一个简单的doclet类只需要实现 public static boolean start(RootDoc root) 方法,就可以被javadoc所使用。

package com.hc.ExampleDoclet;
import com.sun.javadoc.*;


public 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
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值