Javadoc'ta harici bir URL'ye bağlanıyor musunuz?


Yanıtlar:


1224

Bu bağlantıyı içeren bir "Ayrıca Bkz" başlığı oluşturur, yani:

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

şu şekilde oluşturulur:

Ayrıca Bkz:
           http://google.com

oysa bu:

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

satır içi bağlantı oluşturur:

Http://google.com adresine bakın


59
Herkes ilgi ise ben sadece beri, bana arama: göre Javadoc Spec@see etiketi geliyor sonra@param / @returnetiketleri ve öncesi@since / @serial/ @deprecatedetiketleri.
friederbluemle

7
Her ihtimale karşı, Intellij 13 bu etiketi desteklemiyor gibi görünüyor. Satır içi bağlantıları desteklemez. Etiket bir şekilde kullanımdan kaldırıldı mı?
Timo

24
Ben tavsiye <a href="http://google.com" target="_top">http://google.com</a>. target = "_ top" eklemenin nedeni, oluşturulan javadoc html dosyalarından bazılarının çerçeveleri kullanması ve muhtemelen gezinmenin sadece geçerli çerçeve yerine tüm sayfayı etkilemesini istemenizdir.
Antony

3
"Warning - Tag \ @see: eksik final '>':" gibi bir uyarı alırsanız, aynı \ @see yönergesinde iki köprü olmadığından emin olun. Bunun yerine, \ @see başına bir bağlantı kullanın.
Travis Spencer

7
bir javadoc'a URL bağlantısı eklemek neden bu kadar karmaşık? HTML'nin iyi bir fikir olduğunu düşünen ... / facepalm
Someone Somewhere

189

Javadoc Spec'ten Alınan

@see <a href="URL#value">label</a>: İle tanımlandığı gibi bir bağlantı ekler URL#value. URL#valueBir akraba veya mutlak bir URL. Javadoc aracı <, ilk karakter olarak daha küçük bir sembol ( ) arayarak bunu diğer durumlardan ayırır .

Örneğin : @see <a href="http://www.google.com">Google</a>


Tuhaf; Yemin ederim sadece backticks ekledim; Örneğin nereye gittiğini bilmiyorum ...
Stobor

Sanırım bir tür eşzamanlı düzenleme sorunu yaşadık. Onları da içeri sokuyordum.
Aaron

Yeterince adil. Yine de,
blokajınızın

27
@ görmek gerekmez. Javadoc'lar html etiketleriyle biçimlendirilebilir, bu nedenle yalnızca "a" etiketi gereklidir.
Gabriel Llamas

5
@GabrielLlamas Doğru, ama asıl soru bunun nasıl kullanıldığını ima ediyor. Bu özellikle o bilmek yararlıdır yapar birçok insan bunu isteyecektir nerede bir bakın-Alana, iş.
Ionoclast Brigham

33

Javadocs harici bağlantılar için özel bir araç sunmaz, bu yüzden sadece standart html kullanmalısınız:

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

veya

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

Kullanmayın {@link ...}veya {@linkplain ...}çünkü bunlar diğer sınıfların ve yöntemlerin javadoklarına bağlantılar içindir.


16

Bunun gibi a elementli bir HTML bağlantısı kullanın

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


Diğer yorumlardan ortaya çıkarken doğru cevabı tekrar gönderdik. Bu, tüm iş parçacığından daha hızlı okunacaktır.
Dr. Max Völkel

4

Oracle sitesinden net bir cevap bulmak zor. Aşağıdakiler şöyledir 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 etiketini ile kaydırmanın önemi nedir {@link ...}?
Patrick M

2
Bu muhtemelen bir hatadır çünkü javadoc belgeleri bu formdan bahsetmez, içinde bir hamdan bir fark yaratmaz <a>.
Didier L

4
Buradaki {@link xxx} doğru değil. {@link xxx}, kaynak kodunuzdaki diğer sınıflara ve yöntemlere bağlantı içindir. Burada gereksiz. Geri kalanı iyi.
MiguelMunoz

4
Bu yapıya Java 8 standartları tarafından izin verilmez (doclint on).
Stepan Vavra

1
Bu çok yanlış. Uygun olarak doğru kullanım referans ve dokümantasyon olduğu{@link package.class#member label}
Dinei
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.