Пример кода с аннотацией в JavaDoc

мой JavaDoc не работает, когда у меня есть пример кода с аннотацией.

какие предложения?

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

5 ответов


вы должны заменить @ с &#064; в вашем JavaDoc.


более общее решение: {@literal @}

на {@literal} тег обозначает буквальный текст. Вложенный текст интерпретируется как не содержащий разметки HTML или вложенных тегов javadoc. Например, текст комментария doc:{@literal a<B>c} отображение на сгенерированной HTML-странице без изменений:a<B>c - то есть,<B> не интерпретируется как полужирный.

Требуется Java 5+


используйте следующим образом:

/**
 * <pre><code>
 *    public class Demo {
 *      @DemoAnnotation
 *      public void demoMethod() {
 *      }
 *    }
 * </code></pre>
 */ 

создает абзац while alone также может использоваться inline.


вы также можете использовать @code, чтобы избежать аннотации, но вы должны сделать каждый отдельно, как это:

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

будет отображаться следующим образом:

public class Demo {
    @DemoAnnotation
    @AnotherAnnotation
    public void demoMethod() {
    }
}

Примечание: не будет работать просто обернуть обе аннотации - или весь образец кода-в один блок @code.


вы должны использовать аннотацию @Documented для добавления аннотаций в javadoc. Проверьте реализацию на API