如何在Eclipse中调试Doclet?
我正在创建一个自定义doclet,我希望在我的Maven构建中使用Javadoc插件运行,但是现在我想在Eclipse中测试/调试Doclet。 我怎样才能做到这一点?
我是否必须以编程方式调用javadoc? 如何?
您只需在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依赖项。
如果您运行的是JDK v1.8,则可能需要使用以下代码段:
Main.execute(docletFqcn.getClass().getClassLoader(), "-doclet", docletFqcn, javaSourceFilePath);
其中docletFqcn
是Doclet类的完全限定类名,而javaSourceFilePath
是要处理的Java文件的位置。
我收到了@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" });