如何在Eclipse中调试Doclet?

时间:2011-05-06 08:57:21

标签: java eclipse debugging doclet

我正在创建一个自定义doclet,我希望使用Javadoc插件在我的Maven构建中运行,但是现在我想在Eclipse中测试/调试Doclet。我怎样才能做到这一点?

我是否必须以编程方式调用javadoc?怎么样?

3 个答案:

答案 0 :(得分:14)

您只需在doclet中调用main方法并调用(例如,请参阅完整的cmdling参考):

public class MyDoclet extends Doclet {

    public static void main(String[] args) {
        com.sun.tools.javadoc.Main.execute("-doclet " + MyDoclet.class.getName());
    }
}

这也适用于调试器。

您可能还需要添加-classpath参数,其中包含解析实际代码所需的所有jar依赖项。

答案 1 :(得分:2)

如果您正在运行JDK v1.8,则可能需要使用以下代码片段:

Main.execute(docletFqcn.getClass().getClassLoader(), "-doclet", docletFqcn, javaSourceFilePath);

其中docletFqcn是Doclet类的完全限定的类名,而javaSourceFilePath是要处理的Java文件的位置。

答案 2 :(得分:0)

我收到了@Jan回答

的错误消息
Error:(13, 35) java: reference to execute is ambiguous
  both method execute(java.lang.String...) in com.sun.tools.javadoc.Main and method execute(java.lang.String,java.lang.String...) in com.sun.tools.javadoc.Main match

更改为这些代码后,它运行良好

com.sun.tools.javadoc.Main.execute(new String[]{
                "-doclet", CustomDoclet.class.getName(),
                "path/to/src/XXX.java"
        });