Как я могу отладить доклет в Eclipse? - PullRequest
17 голосов
/ 06 мая 2011

Я создаю пользовательский доклет, который хочу запустить в моей сборке Maven с помощью плагина Javadoc, но сейчас я хотел бы протестировать / отладить Doclet в Eclipse. Как я могу это сделать?

Должен ли я вызывать Javadoc программно? И как?

Ответы [ 3 ]

14 голосов
/ 30 сентября 2011

Вы можете просто создать метод main в своем доклете и вызвать его (например, см. Полный справочник по командлетам):

public class MyDoclet extends Doclet {

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

Это также работает с отладчиком.

Возможно, вам также понадобится добавить параметр -classpath, содержащий все зависимости jar, необходимые для анализа фактического кода.

2 голосов
/ 20 августа 2018

Если вы используете JDK v1.8, вам может понадобиться следующий фрагмент кода:

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

, где docletFqcn - полное имя класса вашего класса Doclet, а javaSourceFilePath -расположение файла Java для обработки.

0 голосов
/ 02 февраля 2018

Я получил сообщение об ошибке с @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"
        });
...