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
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>
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
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. –