2010-04-14 17 views
32

'da ek açıklama içeren kod örneği, ek açıklama içeren bir kod örneğim olduğunda JavaDoc'um çalışmıyor.JavaDoc

Herhangi bir öneriniz var mı?

/** 
* <pre> 
* public class Demo { 
* @DemoAnnotation 
* public void demoMethod() { 
* } 
* } 
* </pre> 
*/ 
@Retention(RetentionPolicy.RUNTIME) 
@Target({ElementType.METHOD}) 
public @interface DemoAnnotation { 

cevap

29

Sen JavaDoc'u içinde &#064; ile @ değiştirmelidir.

51

daha genel bir çözüm: {@literal @}

{@literal} etiket değişmez metni gösterir. Ekteki metin, HTML işaretlemesi veya iç içe geçmiş javadoc etiketleri içermediği şeklinde yorumlanır. Örneğin, doc yorum metni: {@literal a<B>c}, oluşturulan HTML sayfasındaki görüntüler değişmemiş: a<B>c - yani <B>, kalın olarak yorumlanmaz.

gerektirir Java 5+

+3

IMHO'daki uygulamayı kontrol edin, bu kabul edilen cevap olmalıdır. – BetaRide

+1

Aslında denemeden önce onu kullandı, ancak sonra bir sorun farkettim: '{@literal @} 'i kullanarak' @ '(en azından NetBeans’te görüntülendiğinde) çirkin bir alan ekler. '' @ '(ve JUnit javadoc'ta kullanılır, örneğin). Oh, * ve * 'code' içinde çalışmaz (' @'''). –

+0

@SergeyTachenov Komut satırı javadoc kullanarak alan sorununuzu yeniden üretemedi. '@ Code' davranışı tasarım gereğidir; javadoc'ta karmaşık kod parçacıklarının gömülmesiyle ilgili iyi bir ipucu için bu cevaba bakın: http://stackoverflow.com/a/13512524/159570 –

-3

Sen javadoc ek açıklamaları eklemek için @Documented ek açıklama kullanmalıdır. API

+0

Bu yanlış: https://docs.oracle.com/javase/ sayfasını okuyun 7/docs/aPI/java/lang/açıklama/Documented.html – Marco