Exemple de code avec annotation dans JavaDoc
Mon JavaDoc ne fonctionne pas quand j'ai un exemple de code avec une annotation.
Des suggestions?
/**
* <pre>
* public class Demo {
* @DemoAnnotation
* public void demoMethod() {
* }
* }
* </pre>
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface DemoAnnotation {
5 answers
Vous devez remplacer @
avec @
dans votre JavaDoc.
Une solution plus générale: {@literal @}
La balise
{@literal}
désigne un texte littéral. Le texte inclus 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 inchangée:a<B>c
- c'est-à-dire que le<B>
n'est pas interprété comme gras.
Nécessite Java 5 +
Utilisez comme ceci:
/**
* <pre><code>
* public class Demo {
* @DemoAnnotation
* public void demoMethod() {
* }
* }
* </code></pre>
*/
Produit un paragraphe tandis que seul peut également être utilisé en ligne.
Vous pouvez également utiliser @code pour échapper à l'annotation, mais vous devez le faire individuellement comme ceci:
/**
* <pre>
* public class Demo {
* {@code @DemoAnnotation }
* {@code @AnotherAnnotation }
* public void demoMethod() {
* }
* }
* </pre>
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface DemoAnnotation {
Sera rendu comme ceci:
public class Demo {
@DemoAnnotation
@AnotherAnnotation
public void demoMethod() {
}
}
Remarque: Il ne fonctionnera pas de simplement envelopper les deux annotations - ou l'échantillon de code entier - dans un bloc @code.
Vous devez utiliser l'annotation @Documented pour ajouter des annotations dans javadoc. Vérifiez l'implémentation sur l'API