2010-06-25 17 views

Respuesta

14

No se puede producir Javadoc a partir de archivos de clase, ni siquiera Javadoc rudimentario. Solo puede generar Javadoc a partir de archivos fuente, porque es donde vive Javadoc.

1

¿Quién está cambiando mi pregunta? No tengo el código fuente. Tengo archivos de clase en un archivo jar. Purushotham hace 47 minutos

¿No tiene ningún archivo fuente? Bueno, entonces probablemente no tengas suerte. Puede haber algún plugin oscuro enterrado en la enorme base de datos de Eclipse que puede hacerlo desde archivos de clase, pero incluso así solo obtendrás firmas de métodos, no comentarios.


Sin embargo, si este es su proyecto que ha escrito, puede generar JavaDoc en su IDE. Para Eclipse do Project> Generate JavaDoc. En NetBeans, haga clic con el botón derecho en su proyecto y seleccione Generar JavaDoc.

Si quiere incluir sus dependencias, esa es una muy mala idea. Siempre vincule a JavaDocs de sus dependencias, nunca lo incluya en el suyo. Si no fuera por perder la cordura al ver un enorme muro de clases de Large Overly Framework X, es solo para mantenerlos separados. Si quiero leer el JavaDoc en su proyecto, quiero leerlo solo en su proyecto, no en slf4j.

+0

* "... incluso entonces solo obtendrás firmas de métodos" *, ¡y las firmas probablemente ni siquiera incluirán los nombres de los argumentos originales! –

+2

Sí, por supuesto. Pero si eso es todo lo que tienes, es mejor que nada. – fool4jesus

3

no he usado, pero este proyecto de código abierto reclama para crear documentos desde archivos de clase Java o jar:

http://classdoc.sourceforge.net/

+0

pero eso es solo para Java 1.3, ¿puedes sugerir alguna otra opción que admita para java 1.6, 1.7.1.8 – Pratswinz

+0

Hey! La única otra solución que he visto (pero que no he usado) [posiblemente sea esta] (http://stackoverflow.com/q/24500845/26510) –

1

Puede utilizar el comando javap en cualquier clase en su ruta de clase. Esto no producirá archivos Javadoc, pero le permitirá ver lo que proporciona la clase.

Ex ...

javap java.lang.String produce la siguiente salida

public final class java.lang.String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence { 
    public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER; 
    public java.lang.String(); 
    public java.lang.String(java.lang.String); 
    public java.lang.String(char[]); 
    public java.lang.String(char[], int, int); 

... y después de un montón de constructores hay otros métodos ...

public int length(); 
    public boolean isEmpty(); 
    public char charAt(int); 
    public int codePointAt(int); 

y se puede también le mostrará otras cosas, pero probablemente sea la más útil.

No es exactamente lo que está buscando, pero si solo tiene una jarra con muchas clases, esta podría ser su mejor opción.

Cuestiones relacionadas