2010-04-14 7 views
32

mein JavaDoc funktioniert nicht, wenn ich ein Codebeispiel mit einer Annotation habe.Codebeispiel mit Annotation in JavaDoc

Irgendwelche Vorschläge?

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

Antwort

29

Sie müssen @ mit &#064; in Ihrem JavaDoc ersetzen.

51

Eine allgemeine Lösung: {@literal @}

Die {@literal} tag bezeichnet Literaltext. Der eingeschlossene Text wird so interpretiert, dass er weder HTML-Markup noch verschachtelte Javadoc-Tags enthält. Beispiel: Der Dokumentationskommententext: {@literal a<B>c} wird in der generierten HTML-Seite unverändert angezeigt: a<B>c - das heißt, die <B> wird nicht als fett interpretiert.

Benötigt Java 5+

+3

IMHO sollte dies die akzeptierte Antwort sein. – BetaRide

+1

Upvoted es vor dem eigentlichen Versuch, aber dann bemerkte ich ein Problem: mit '{@literal @}' fügt ein hässliches Leerzeichen vor dem '@' (zumindest bei der Anzeige in NetBeans). '@' nicht (und es wird zum Beispiel in JUnit javadoc verwendet). Oh, * und * es funktioniert nicht innerhalb '@ code' (' @ 'tut). –

+0

@SergeyTachenov Konnte das Problem mit dem Speicherplatz nicht mithilfe der Befehlszeile "javadoc" reproduzieren. Das '@ code' Verhalten ist von Entwurf; In dieser Antwort finden Sie einen guten Hinweis, wie Sie komplexe Code-Snippets in javadoc einbetten können: http://stackoverflow.com/a/13512524/159570 –

-3

Sie müssen die @Documented Anmerkung verwenden, um Anmerkungen in der javadoc hinzuzufügen. Überprüfen Sie die Implementierung auf der API

+0

Das ist falsch: Bitte lesen Sie https://docs.oracle.com/javase/ 7/docs/api/java/lang/Anmerkung/Dokumentiert.html – Marco