Checkstyleルール JavadocStyle は、タグ<u>
を許可しません。ドキュメントによると、チェックは、Sunから入手可能なDocCheckドックレットによって行われたチェックに基づいてパターン化されました。残念ながら、どこにもDocCheckはありません。また、Javadocで許可されたHTMLタグに関する公式ドキュメントも見つかりませんでした。何かありますか?
Javadocは、Java 8.以降、HTMLタグのサブセットのみを許可します。
Javadocのdoclintコンポーネントはこの制限を適用します。 -Xdoclint:none
をjavadocに渡すことで、すべてのdoclint警告を無効にできますが、生成されたHTML APIドキュメントが正しく表示されなかったり、コンテンツが省略されたりする可能性があるため、Javadocコメントを修正することを検討してください。 (私は通常、-Xdoclint:all,-missing
を使用して、Javadoc @
タグの欠落を除くすべてについて警告を表示します。)
Doclintで許可されているタグの公開ドキュメントは見つかりませんでしたが、許可されているHTMLタグのリストを次に示します。これは、Java 8のファイル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
JDK 9の更新
JDK 9は、JDK 8とは異なるタグのセットを許可します。以下は、両方のJDKのタグのリストです。一方のJDKでのみ許可されているタグについての注記が含まれています。この場合も、データは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
JavadocコメントでのHTMLの使用に関する実際の制限はありません。 Javadocドキュメント は次のように述べています。
コメントはHTMLで記述されている-テキストはHTMLで記述する必要があります。HTMLエンティティを使用し、HTMLタグを使用できます。 ブラウザがサポートするHTMLのどのバージョンでも使用できます;HTML準拠のコードを生成する標準ドックレットを他の場所(ドキュメントコメント以外)に作成しましたカスケードスタイルシートとフレームが含まれています。 (フレームセットのため、生成された各ファイルの先頭には「HTML 4.0」を付けます。)
許可されるHTMLタグのリストは JavadocStyle Checkstyle チェックにハードコーディングされています(Checkstyle 5.6ソースを確認することで確認されます)。したがって、他の適切なプロパティのチェックを維持したい場合は、HTMLタグの制限されたセットを使用する必要があります。下線の問題の回避策の1つは、次のようなCSS(許可されている)を使用することです。
<span style="text-decoration:underline;">underlined text</span>