2010-06-25 28 views

Trả lời

14

Bạn không thể sản xuất Javadoc từ các tệp lớp học, thậm chí không phải Javadoc thô sơ. Bạn chỉ có thể tạo Javadoc từ các tệp nguồn, vì đó là nơi mà Javadoc tồn tại.

1

Ai đang thay đổi câu hỏi của tôi? Tôi không có mã nguồn. Tôi có các tệp lớp trong tệp jar. Purushotham 47 phút trước

Bạn không có bất kỳ tệp nguồn nào? Vậy thì có lẽ bạn sẽ không may mắn. Có thể có một số plugin mơ hồ bị chôn vùi trong cơ sở dữ liệu khổng lồ của Eclipse có thể làm điều đó từ các tệp lớp, nhưng ngay cả khi đó bạn sẽ chỉ nhận được các chữ ký phương thức, không phải bất kỳ nhận xét nào.


Tuy nhiên, nếu đây là dự án của bạn mà bạn đã viết thì bạn có thể tạo JavaDoc trong IDE của mình. Đối với Eclipse làm Dự án> Tạo JavaDoc. Trong NetBeans, nhấn chuột phải vào dự án của bạn và chọn Generate JavaDoc.

Nếu bạn muốn bao gồm các phụ thuộc của mình, thì đó là một ý tưởng rất tồi. Luôn liên kết với JavaDocs của phụ thuộc của bạn, không bao giờ bao gồm nó trong máy của bạn. Nếu không làm mất đi sự tỉnh táo của bạn khi nhìn thấy một bức tường lớn của các lớp học từ Large Overly Framework X, nó chỉ là để giữ chúng riêng biệt. Nếu tôi muốn đọc JavaDoc trên dự án của bạn, tôi muốn đọc nó chỉ trên dự án của bạn, chứ không phải trên slf4j.

+0

* "... thậm chí sau đó bạn sẽ chỉ nhận được chữ ký phương thức" * và chữ ký có lẽ sẽ không bao gồm tên đối số ban đầu! –

+2

Vâng, tất nhiên rồi. Nhưng nếu đó là tất cả những gì bạn có, thì tốt hơn là không có gì. – fool4jesus

3

tôi đã không sử dụng nó, nhưng dự án mã nguồn mở này tuyên bố muốn tạo tài liệu từ các tập tin lớp java hoặc jar:

http://classdoc.sourceforge.net/

+0

nhưng đó chỉ dành cho java 1.3, bạn có thể đề xuất bất kỳ tùy chọn nào khác hỗ trợ cho java 1.6, 1.7.1.8 – Pratswinz

+0

Hey! Giải pháp duy nhất khác mà tôi đã thấy (nhưng chưa sử dụng) [có thể là giải pháp này] (http://stackoverflow.com/q/24500845/26510) –

1

Bạn có thể sử dụng lệnh javap trên bất kỳ lớp trong classpath của bạn. Điều này sẽ không tạo ra các tệp Javadoc, nhưng nó sẽ cho phép bạn xem những gì lớp cung cấp.

Ex ...

javap java.lang.String xuất ra như sau

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

... và sau một loạt các nhà xây dựng có những phương pháp khác ...

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

Và bạn có thể có nó cho bạn thấy những thứ khác nữa, nhưng điều này có lẽ là hữu ích nhất.

Không chính xác những gì bạn đang tìm kiếm, nhưng nếu bạn chỉ có một cái lọ với một loạt các lớp này có thể là lựa chọn tốt nhất của bạn.

Các vấn đề liên quan