2010-06-25 2 views
14

Я хочу создать API для всех классов, которые есть в моем приложении Java 1.6. Он должен выглядеть как обычная документация API Java 1.5.Как создать документацию JavaDoc для классов в файле .jar, для которого у меня нет исходного кода?

У меня нет исходного кода. У меня есть файлы классов в файле jar.

ответ

14

Вы не можете производить Javadoc из банок файлов классов, даже не рудиментарных Javadoc. Вы можете генерировать Javadoc только из исходных файлов, потому что именно там живет Javadoc.

1

Кто меняет вопрос? У меня нет исходного кода. У меня есть файлы классов в файле jar. Purushotham 47 мин. Назад

У вас нет исходных файлов? Ну, тогда вам, наверное, не повезло. Возможно, какой-то неясный плагин похож на огромную базу данных Eclipse, которая может делать это из файлов классов, но даже тогда вы будете получать сигнатуры методов, а не комментарии.


Однако, если это ваш проект, который вы написали, вы можете сгенерировать JavaDoc в своей среде IDE. Для Eclipse do Project> Сгенерировать JavaDoc. В NetBeans щелкните правой кнопкой мыши ваш проект и выберите «Создать JavaDoc».

Если вы хотите включить свои зависимости, то это очень плохая идея. Всегда ссылайтесь на JavaDocs ваших зависимостей, никогда не включайте его в свой. Если вы не потеряете рассудок, увидев массивную стену классов из Large Overly Framework X, вам просто нужно их разделить. Если я хочу прочитать JavaDoc в вашем проекте, я хочу прочитать его только по вашему проекту, а не по slf4j.

+0

* «... даже тогда ваш единственный способ получить сигнатуры метода» *, а подписи, вероятно, даже не будут содержать имена исходных аргументов! –

+2

Да, конечно. Но если это все, что у вас есть, это лучше, чем ничего. – fool4jesus

3

Я не использовал его, но этот проект с открытым исходным кодом требует, чтобы создать документы из класса Java или файлов .jar:

http://classdoc.sourceforge.net/

+0

, но это только для java 1.3, можете предложить любой другой вариант, который поддерживает java 1.6, 1.7.1.8 – Pratswinz

+0

Эй! Единственное другое решение, которое я видел (но не использовал) [возможно, это один] (http://stackoverflow.com/q/24500845/26510) –

1

Вы можете использовать команду javap любого класса в вашем пути к классам. Это не приведет к созданию файлов Javadoc, но это позволит вам увидеть, что предоставляет класс.

Ex ...

javap java.lang.String производит следующий вывод

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); 

... и после того, как гроздь конструкторов есть другие методы ...

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

И вы можете пусть это покажет вам и другие вещи, но это, вероятно, самое полезное.

Не совсем то, что вы ищете, но если у вас просто есть кувшин с кучей классов, это может быть вашим лучшим вариантом.

Смежные вопросы