เชื่อมโยงไปยัง URL ภายนอกใน Javadoc?


คำตอบ:


1224

สิ่งนี้จะสร้างหัวข้อ "ดูเพิ่มเติม" ที่มีลิงก์เช่น:

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

จะแสดงผลเป็น:

ดูเพิ่มเติมที่:
           http://google.co.th

ในขณะนี้:

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

จะสร้างลิงค์ในบรรทัด:

ดูhttp://google.co.th


59
หากใครสนใจเพราะผมเพิ่งมีการมองมันได้: ตามที่Javadoc ข้อมูลจำเพาะ@seeแท็กมาหลังจาก@param / @returnแท็กและก่อนที่จะ@since / @serial/ @deprecatedแท็ก
friederbluemle

7
ในกรณี Intellij 13 ดูเหมือนจะไม่สนับสนุนแท็กนี้ มันรองรับลิงค์ในบรรทัด แท็กเลิกใช้แล้วหรือไม่?
Timo

24
ฉันขอแนะนำ<a href="http://google.com" target="_top">http://google.com</a>. เหตุผลในการเพิ่ม target = "_ top" เป็นเพราะไฟล์ javadoc html ที่สร้างขึ้นบางส่วนใช้ประโยชน์จากเฟรมและคุณอาจต้องการให้การนำทางมีผลต่อทั้งหน้ามากกว่าแค่เฟรมปัจจุบัน
Antony

3
หากคุณได้รับคำเตือนเช่น "คำเตือน - แท็ก \ @see: ไม่มีขั้นตอนสุดท้าย '>':" ตรวจสอบให้แน่ใจว่าคุณไม่มีไฮเปอร์ลิงก์สองอันในคำสั่งเดียวกัน \ @see ใช้ลิงค์เดียวต่อ \ @ ดูแทน
Travis Spencer

7
ทำไมการเพิ่มลิงค์ URL ไปยัง javadoc จึงซับซ้อน ผู้ที่คิดว่า HTML เป็นความคิดที่ดี ... / facepalm
คนอยู่ที่ไหนสักแห่ง

189

นำมาจากสเป็ค javadoc

@see <a href="URL#value">label</a>: URL#valueเพิ่มการเชื่อมโยงตามที่กำหนดโดย URL#valueเป็นญาติหรือ URL ที่แน่นอน เครื่องมือ Javadoc แยกความแตกต่างนี้จากกรณีอื่นโดยค้นหาสัญลักษณ์ที่น้อยกว่า ( <) เป็นอักขระตัวแรก

ตัวอย่างเช่น : @see <a href="http://www.google.com">Google</a>


แปลก; ฉันสาบานว่าจะเพิ่มเฉพาะใน backticks เท่านั้น ผมไม่ทราบว่าตัวอย่างไป ...
Stobor

ฉันคิดว่าเรามีปัญหาการแก้ไขพร้อมกัน ฉันใส่พวกมันเข้าไปด้วย
Aaron

ยุติธรรมพอสมควร คุณกำลังขาดหายไป backticks ในบรรทัดแรกของ blockquote ของคุณแม้ว่า ....
Stobor

27
@see ไม่จำเป็น javadocs สามารถจัดรูปแบบด้วยแท็ก html ดังนั้นจึงจำเป็นเฉพาะแท็ก "a"
Gabriel Llamas

5
@GabrielLlamas True แต่คำถามเดิมบอกเป็นนัยว่านี่คือวิธีการใช้งาน มันมีประโยชน์ที่จะรู้ว่ามันโดยเฉพาะไม่ทำงานในสาขาที่เห็นยังซึ่งเป็นที่ที่ผู้คนจำนวนมากจะต้องการมัน
Ionoclast Brigham

33

Javadocs ไม่มีเครื่องมือพิเศษสำหรับลิงก์ภายนอกดังนั้นคุณควรใช้ html มาตรฐาน:

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

หรือ

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

อย่าใช้{@link ...}หรือ{@linkplain ...}เพราะสิ่งเหล่านี้ใช้สำหรับลิงก์ไปยัง javadocs ของคลาสและเมธอดอื่น ๆ


16

เพียงใช้ลิงค์ HTML ที่มีองค์ประกอบเช่น

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


เพียงโพสต์คำตอบที่ถูกต้องใหม่เมื่อมันโผล่ออกมาจากความคิดเห็นอื่น นี่จะอ่านได้เร็วกว่าเธรดทั้งหมด
Dr. Max Völkel

4

ยากที่จะหาคำตอบที่ชัดเจนจากไซต์ Oracle ต่อไปนี้มาจาก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";

การห่อ<a>แท็ก html ด้วยความสำคัญ{@link ...}คืออะไร
Patrick M

2
นี่อาจจะเป็นความผิดพลาดเพราะเอกสาร Javadoc<a>ไม่ได้พูดถึงรูปแบบนี้มันไม่ได้สร้างความแตกต่างจากดิบ
Didier L

4
{@link xxx} ที่นี่ไม่ถูกต้อง {@link xxx} สำหรับเชื่อมโยงไปยังคลาสและวิธีการอื่นในซอร์สโค้ดของคุณ มันไม่จำเป็นที่นี่ ส่วนที่เหลือของมันก็โอเค
MiguelMunoz

4
โครงสร้างนี้ไม่ได้รับอนุญาตจากมาตรฐาน Java 8 (doclint on)
Stepan Vavra

1
นี่เป็นสิ่งที่ผิดธรรมดา การใช้งานที่ถูกต้องตามการอ้างอิงและเอกสารเป็น{@link package.class#member label}
Dinei
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.