相关文章推荐
侠义非凡的哑铃  ·  python ...·  1 年前    · 
潇洒的西瓜  ·  让你的 Python ...·  1 年前    · 

什么是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
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 /> XDoclet“嫁”给了Ant。XDoclet任务就是Ant的自定义任务,除此以外,没有其他运行XDoclet任务的方法。所幸的是,Ant已经成 为了Java构建工具事实上的标准,所以这不算什么限制。事实上,反过来,XDoclet与Ant的这种“亲密”关系使得XDoclet可以参与到任何
工作中经常需要对外提供接口,这个时候接口的文档就非常麻烦,同时是维护在wiki或者其他地方,但是修改代码之后很可能没有及时更新wiki,造成很多交流的成本。所以想直接通过javadoc 生成接口文档的方式。发现maven提供的javadoc插件,但是原生的Doclet不能满足我的要求。所以需要自己定义doclet。来看下Doclet定义Doclet 是用 JavaTM编程语言编写的程序,它
Java自带的doclet有一些默认的输出格式,但是有时候我们希望根据特定需求自定义输出格式。Java提供了API来扩展doclet功能,可以通过自定义doclet输出实现我们的需求。 自定义doclet输出可以通过编写自己的doclet类来实现,使用Javadoc命令行工具运行自定义doclet类,即可输出所需的文档。 自定义doclet输出需要步骤如下: 1. 定义DocletDoclet类是自定义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技术有一定的了解。