2013-05-10 8 views
21

Die Checkstyle-Regel JavadocStyle lässt das Tag <u> nicht zu. Laut den Dokumenten wurden die Überprüfungen nach den Überprüfungen durchgeführt, die mit dem DocCheck-Doclet von Sun durchgeführt wurden. Leider habe ich DocCheck nirgendwo gefunden. Ich habe auch keine offizielle Dokumentation über erlaubte HTML-Tags in Javadoc gefunden. Gibt es irgendwelche?Erlaubte HTML-Tags in Javadoc

Antwort

14

Es gibt keine wirklichen Einschränkungen für die Verwendung von HTML in Javadoc-Kommentaren. Die Javadoc documentation Staaten:

Kommentare sind in HTML geschrieben - Der Text muss in HTML geschrieben werden, in dem sie HTML-Entitäten verwenden und HTML-Tags verwenden können. Sie können die von Ihrem Browser unterstützte HTML-Version verwenden. Wir haben das Standard-Doclet geschrieben, um HTML 3.2-konformen Code an anderer Stelle (außerhalb der Dokumentationskommentare) unter Einbeziehung von Cascading Style Sheets und Frames zu generieren. (Wir Vorwort jede erzeugte Datei mit „HTML 4.0“, weil der Rahmensätze.)

Die Liste der erlaubten HTML-Tags fest einprogrammiert ist in der JavadocStyle Checkstyle Prüfung (geprüft durch an den 5,6 Quellen Check suchen). Also, wenn Sie die Prüfung für seine anderen guten Eigenschaften behalten möchten, müssen Sie mit dem eingeschränkten Satz von HTML-Tags leben. Eine Abhilfe für das Unterstreichungs Problem ist, CSS zu verwenden (was erlaubt ist) wie folgt aus:

<span style="text-decoration:underline;">underlined text</span> 
+2

FYI, das '' Element wurde auf die hartcodierte Liste von Tags in Check 5.8 explizit hinzugefügt. Die Liste kann immer noch nicht geändert werden, aber dieses spezielle Problem ist gelöst. –

20

Javadoc erlaubt nur eine Teilmenge von HTML-Tags, wie von Java 8.

Javadoc der doclint Komponente erzwingt diese Einschränkung. Sie können alle Doclint-Warnungen deaktivieren, indem Sie -Xdoclint:none an javadoc, übergeben. Sie sollten jedoch in Erwägung ziehen, Ihre Javadoc-Kommentare zu korrigieren, da die generierte HTML-API-Dokumentation ansonsten schlecht aussieht oder Inhalte auslassen kann. (Normalerweise verwende ich -Xdoclint:all,-missing Warnungen über alles zu bekommen, außer Javadoc fehlt @ Tags.)

Ich habe keine öffentliche Dokumentation der Tags gefunden, die Genehmigungen doclint, aber hier ist eine Liste seiner erlaubt HTML-Tags, die ich aufgelesen aus Java 8-Datei langtools/src/share/classes/com/sun/tools/doclint/HtmlTag.java.

A 
B 
BIG 
BLOCKQUOTE 
BODY 
BR 
CAPTION 
CENTER 
CITE 
CODE 
DD 
DFN 
DIV 
DL 
DT 
EM 
FONT 
FRAME 
FRAMESET 
H1 
H2 
H3 
H4 
H5 
H6 
HEAD 
HR 
HTML 
I 
IMG 
LI 
LINK 
MENU 
META 
NOFRAMES 
NOSCRIPT 
OL 
P 
PRE 
SCRIPT 
SMALL 
SPAN 
STRONG 
SUB 
SUP 
TABLE 
TBODY 
TD 
TFOOT 
TH 
THEAD 
TITLE 
TR 
TT 
U 
UL 
VAR 

Update für JDK 9

JDK 9 erlaubt einen anderen Satz von Tags als JDK 8 der Fall ist. Hier ist eine Liste von Tags für beide JDKs mit Hinweisen zu denen, die nur von einem der JDKs erlaubt sind. Auch hier stammen die Daten aus der Datei HTMLTag.java.

A 
BIG  // JDK 8 only 
B   // JDK 8 only 
BLOCKQUOTE 
BODY 
BR 
CAPTION 
CENTER 
CITE  // JDK 8 only 
CODE 
DD 
DFN  // JDK 8 only 
DIR  // JDK 9 only 
DIV 
DL 
DT 
EM 
FONT 
FOOTER // JDK 9 only 
FRAME  // JDK 8 only 
FRAMESET // JDK 8 only 
H1 
H2 
H3 
H4 
H5 
H6 
HEAD 
HEADER  // JDK 9 only 
HR 
HTML 
I 
IFRAME  // JDK 9 only 
IMG 
INPUT  // JDK 9 only 
LI 
LINK 
LISTING // JDK 9 only 
MAIN  // JDK 9 only 
MENU 
META 
NAV  // JDK 9 only 
NOFRAMES // JDK 8 only 
NOSCRIPT 
OL 
P 
PRE 
SCRIPT 
SECTION  // JDK 9 only 
SMALL 
SPAN 
STRONG 
SUB 
SUP   // JDK 8 only 
TABLE 
TBODY 
TD 
TFOOT  // JDK 8 only 
TH 
THEAD  // JDK 8 only 
TITLE 
TR 
TT 
U   // JDK 8 only 
UL 
VAR   // JDK 8 only