2010-04-14 9 views
32

mon JavaDoc ne fonctionne pas lorsque j'ai un exemple de code avec une annotation.Exemple de code avec annotation dans JavaDoc

Des suggestions?

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

Répondre

29

Vous devez remplacer @ avec &#064; dans votre JavaDoc.

51

Une solution plus générale: {@literal @}

La balise indique {@literal} texte littéral. Le texte ci-joint est interprété comme ne contenant pas de balises HTML ou de balises javadoc imbriquées. Par exemple, le texte du commentaire doc: {@literal a<B>c} s'affiche dans la page HTML générée sans modification: a<B>c - c'est-à-dire que le <B> n'est pas interprété en gras.

Java 5+

Nécessite
+3

À mon humble avis ceci devrait être la réponse acceptée. – BetaRide

+1

Je l'ai mis à jour avant d'essayer, mais j'ai remarqué un problème: l'utilisation de '{@literal @}' ajoute un espace moche avant le '@' (au moins dans NetBeans). '@' ne fonctionne pas (et il est utilisé dans JUnit javadoc, par exemple). Oh, * et * cela ne fonctionne pas dans '@ code' (' @ 'fait). –

+0

@SergeyTachenov Impossible de reproduire votre problème d'espace en utilisant la ligne de commande javadoc. Le comportement '@ code' est de par sa conception; reportez-vous à cette réponse pour obtenir un bon indice sur la façon d'intégrer des extraits de code complexes dans javadoc: http://stackoverflow.com/a/13512524/159570 –

-3

Vous devez utiliser l'annotation @Documented pour ajouter des annotations dans la javadoc. Vérifiez la mise en œuvre sur l'API

+0

Ceci est incorrect: veuillez lire https://docs.oracle.com/javase/ 7/docs/api/java/lang/annotation/Documented.html – Marco