2011-05-06 9 views
15

Estoy creando un doclet personalizado que quiero ejecutar en mi compilación Maven con el plugin Javadoc, pero ahora mismo quiero probar/depurar el Doclet en Eclipse. ¿Cómo puedo hacer eso?¿Cómo puedo depurar un Doclet en Eclipse?

¿Tengo que invocar javadoc mediante programación? ¿Y cómo?

+0

Sean, buena pregunta: ¿Estoy frente al mismo desafío de depuración doclets; aunque el mensaje del grupo de desarrolladores de Eclipse apunta a un método bastante feo, me tomó 30 minutos, pero funciona. Si alguien encuentra una manera más fácil, por favor publique :-). De todos modos, +1 Sean para la pregunta y para el enlace. – acostache

+0

el enlace en la pregunta está roto – Omnipresent

+0

cierto, lo eliminó. Fue terrible de todos modos –

Respuesta

12

puede simplemente crear un método principal en su doclet y llamada (ejemplo, véase la referencia cmdling completo):

public class MyDoclet extends Doclet { 

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

que también trabaja con el depurador.

Es posible que también deba agregar el parámetro -classpath que contiene todas las dependencias jar necesarias para analizar el código real.

0

llegué mensaje de error con la respuesta @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 

Después del cambio de código de éstos y que funcione bien

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