2011-08-10 20 views
7

Estoy escribiendo una aplicación Java que me permitirá compilar un proyecto Java basado únicamente en su estructura de archivos para que pueda escribir código y compilar sin un IDE. El problema que tengo actualmente es que me gustaría generar automáticamente el javadoc mientras estoy compilando, aunque mientras Java 6 proporciona un objeto JavaCompiler para trabajar, no puedo encontrar la manera de usar el comando javadoc.¿Cómo puedo generar javadocs utilizando Java?

¿Cómo puedo generar el código javadoc html para mis proyectos utilizando código Java?

+1

¿Por qué? Ya hay herramientas maduras de compilación de Java que hacen todo esto y mucho más. Use uno de ellos y evite crear una gran deuda tecnológica para usted y/o la persona que se hace cargo de su código. –

+0

No hay duda de que me lo contarán, pero: Ant/Maven/Gradle requieren un archivo de configuración para componerse. Si ha creado una utilidad que no necesita una, entonces hay un caso de uso definido para esto :-) – Rich

Respuesta

7

En caso de que no sepa, tanto Apache Ant como Apache Maven son herramientas que existen para lograr un objetivo similar al que está escribiendo (compilar sin un IDE).

Ambos tienen soporte integrado para generar javadoc. sintaxis hormiga se ve así:

<!-- publish javadoc --> 
<target name="javadoc" description="Creates javadoc for IMP."> 
     <delete dir="${web-javadoc}"/> 
     <javadoc sourcepath="${source}" 
       defaultexcludes="no" 
       destdir="${web-javadoc}" 
       author="true" 
       version="true" 
       use="true" 
       windowtitle="IMP: Integrated Mechanisms Program" 
       overview="${source}/overview.html" 
       classpathref="debug.classpath" 
       stylesheetfile="${javadoc-theme}/stylesheet.css" 
     /> 

     <copy file="${javadoc-theme}/javadoc.jpg" tofile="${web-javadoc}/javadoc.jpg"/> 
</target> 

Si realmente desea generar por su cuenta que desea utilizar el Doclet API

import com.sun.javadoc.*; 

public class ListClass { 
    public static boolean start(RootDoc root) { 
     ClassDoc[] classes = root.classes(); 
     for (int i = 0; i < classes.length; ++i) { 
      System.out.println(classes[i]); 
     } 
     return true; 
    } 
} 
+0

Muy completo. Aprecio que me hayas dado la respuesta a mi pregunta, incluso si pensabas que era tonto. –

+0

Solo quería ahorrar algo de tiempo si esas herramientas satisfacían sus necesidades. No pensé que fuera tonto. – JohnKlehm

1

Ver Running the Standard Doclet Programmatically en la documentación de la herramienta.

+0

¿Por qué la votación negativa? –

+0

No hay ningún problema real con su respuesta, solo la respuesta de miku es un poco mejor (y apareció unos minutos antes), y quería asegurarme de que se clasificara antes de su respuesta. Lo siento, la votación negativa fue la única forma de que esto sucediera. –

+2

@ Paŭlo: Ya veo. Según entiendo, ese no es un buen uso de downvoting. Los votos a favor son para marcar respuestas dañinas o incorrectas. –

5

En una terminal, escriba javadoc - le dará una buena lista de opciones. Más simple:

javadoc -d your_output_directory -classpath your_classpath -sourcepath your_sourcefile_dir 
0

Hay un comando javadoc, viene con el JDK (hombre javadoc en plataformas UNIX)

Sin embargo, hay mejores maneras. ¿Cómo estás compilando el código? Si está utilizando una herramienta de construcción automatizada como hormiga o experto, puede agregar una tarea javadoc para generar automáticamente los javadocs siempre que se compila el código

http://ant.apache.org/manual/Tasks/javadoc.html

para obtener más información sobre la hormiga (otras herramientas tienen una funcionalidad similar , consulte la documentación de sus herramientas para obtener más información)

Eso es lo que hago, funciona de manera brillante.

Cuestiones relacionadas