Liên kết với một URL bên ngoài trong Javadoc?


Câu trả lời:


1224

Điều này tạo ra một tiêu đề "Xem thêm" có chứa liên kết, nghĩa là:

/**
 * @see <a href="http://google.com">http://google.com</a>
 */

sẽ hiển thị dưới dạng:

Xem thêm:
           http://google.com

trong khi đó

/**
 * See <a href="http://google.com">http://google.com</a>
 */

sẽ tạo một liên kết nội tuyến:

Xem http://google.com


59
Nếu bất cứ ai đang quan tâm, vì tôi chỉ phải bất lực nhìn nó lên: Theo Javadoc đặc tả các @seethẻ xuất phát sau khi các @param/ @returnthẻ và trước sự @since/ @serial/ @deprecatedthẻ.
Friederbluemle

7
Chỉ trong trường hợp, Intellij 13 dường như không hỗ trợ thẻ này. Nó không hỗ trợ các liên kết nội dòng. Là thẻ bằng cách nào đó không được chấp nhận?
Timo

24
Tôi khuyên bạn <a href="http://google.com" target="_top">http://google.com</a>. Lý do để thêm target = "_ top" là vì một số tệp html javadoc được tạo sử dụng các khung và bạn có thể muốn điều hướng ảnh hưởng đến toàn bộ trang thay vì chỉ khung hiện tại.
Antony

3
Nếu bạn nhận được một cảnh báo như "cảnh báo - Tag \ @see: thiếu cuối cùng '>':", hãy đảm bảo bạn không có hai siêu liên kết trong cùng một lệnh \ @see. Thay vào đó, hãy sử dụng một liên kết cho mỗi \ @see.
Travis Spencer

7
Tại sao việc thêm một liên kết URL vào javadoc lại phức tạp đến vậy? ai nghĩ rằng HTML là một ý tưởng hay ... / facepalm
Ai đó ở đâu đó vào

189

Lấy từ thông số javadoc

@see <a href="URL#value">label</a>: Thêm một liên kết như được xác định bởi URL#value. Đây URL#valuelà một URL tương đối hoặc tuyệt đối. Công cụ Javadoc phân biệt điều này với các trường hợp khác bằng cách tìm kiếm một ký hiệu nhỏ hơn ( <) là ký tự đầu tiên.

Ví dụ : @see <a href="http://www.google.com">Google</a>


Kỳ dị; Tôi thề tôi chỉ thêm vào backticks; Tôi không biết ví dụ đã đi đến đâu ...
Stobor

Tôi nghĩ rằng chúng tôi đã có một số loại vấn đề chỉnh sửa đồng thời. Tôi cũng đã đặt chúng vào.
Aaron

Đủ công bằng. Tuy nhiên, bạn đang thiếu các backticks trong dòng đầu tiên của blockquote của bạn ....
Stobor

27
@see không cần thiết. Các javadocs có thể được định dạng bằng các thẻ html, vì vậy chỉ cần thẻ "a".
Gabriel Llamas

5
@GabrielLlamas Đúng, nhưng câu hỏi ban đầu ngụ ý đây là cách nó được sử dụng. Nó rất hữu ích để biết rằng nó đặc biệt không làm việc trong một See-cũng lĩnh vực, đó là nơi có rất nhiều người sẽ muốn nó.
Ionoclast Brigham

33

Javadocs không cung cấp bất kỳ công cụ đặc biệt nào cho các liên kết bên ngoài, vì vậy bạn chỉ nên sử dụng html tiêu chuẩn:

See <a href="http://groversmill.com/">Grover's Mill</a> for a history of the
Martian invasion.

hoặc là

@see <a href="http://groversmill.com/">Grover's Mill</a> for a history of 
the Martian invasion.

Không sử dụng {@link ...}hoặc {@linkplain ...}bởi vì đây là cho các liên kết đến javadocs của các lớp và phương thức khác.


16

Chỉ cần sử dụng một liên kết HTML với một yếu tố như

<a href="URL#value">label</a>


Chỉ cần đăng lại câu trả lời đúng khi nó xuất hiện từ các bình luận khác. Điều này sẽ được đọc nhanh hơn so với toàn bộ chủ đề.
Bác sĩ Max Völkel

4

Khó tìm thấy một câu trả lời rõ ràng từ trang web của Oracle. Sau đây là từ javax.ws.rs.core.HttpHeaders.java:

/**
 * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">HTTP/1.1 documentation</a>}.
 */
public static final String ACCEPT = "Accept";

/**
 * See {@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2">HTTP/1.1 documentation</a>}.
 */
public static final String ACCEPT_CHARSET = "Accept-Charset";

Tầm quan trọng của việc gói <a>thẻ html với là {@link ...}gì?
Patrick M

2
Đây có lẽ là một sai lầm vì tài liệu javadoc không đề cập đến hình thức này, trong đó không tạo ra sự khác biệt so với bản thô <a>.
Didier L

4
{@Link xxx} ở đây không đúng. {@link xxx} là để liên kết với các lớp và phương thức khác trong mã nguồn của bạn. Ở đây không cần thiết. Phần còn lại của nó là tốt.
MiguelMunoz

4
Cấu trúc này không được các tiêu chuẩn Java 8 cho phép (doclint on).
Stepan Vavra

1
Điều này hoàn toàn sai. Cách sử dụng đúng theo tài liệu tham khảotài liệu{@link package.class#member label}
Dinei
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.