web-dev-qa-db-ja.com

JDK 8のJavadoc:無効な「自己クローズ要素は許可されていません」

JDK 8を使用してjavadocを実行し、このエラーを受け取った場合の最善の回避策は何ですか。

JDK 8の場合、<br />および<p />は、無効な(厳密な)HTML 4であるため、エラーを生成するはずです。 ディスカッションJDKメーリングリストを参照

Mavenを使用してJavaプロジェクトをコンパイルし、この問題につまずいたのです。もちろん、プロジェクトでチケットを提出できます(そして、私はそうするでしょう)。そうでない場合、JDK 8で問題なくビルドできるようにするには、多くのプロジェクトを修正する必要があると思います。

53
JE42

これら2つの特定のケースについて、推奨されるアクションは、それらを<p>に置き換えることだと思います。 これ はOracleドキュメントへのリンクです。

26
Tavo

javaDocsのエラーを削除するには、次のように置き換えます。

  • <p/><p>
  • <br/><br>

修正後は例外なくすべてが正常に機能します。

18
Xelian

Oracle.comの「 JDK 8の新機能 」から取得:

Javacツールは、javadocの実行時に生成されるファイルで、無効なHTMLやアクセシビリティの問題など、さまざまな問題を引き起こす可能性のある問題についてjavadocコメントの内容をチェックするサポートを提供します。この機能は、新しい-Xdoclintオプションによって有効になります。詳細については、「javac -X」の実行からの出力を参照してください。この機能はjavadocツールでも使用でき、デフォルトで有効になっています。

今、私はそれがするように私に言ったことをしました。 JDK 7では、「javac -X」の出力に-Xdoclintオプションが記載されていません。ただし、JDK 8では次のようになります。

 -Xdoclint:(all|none|[-]<group>)[/<access>]
    Enable or disable specific checks for problems in javadoc comments,
    where <group> is one of accessibility, html, missing, reference, or syntax,
    and <access> is one of public, protected, package, or private.

そのため、次のようにJavadocユーティリティを実行します。

javadoc.exe -Xdoclint:none <other options...>

私のスクリプトでは、このオプションを使用すると、あなたが言及したエラーは消えました。

13
Timmos

-Xdoclintオプションを使用してエラーチェックを無効にすることは可能ですが、問題を修復することはできませんが、問題を隠すだけです。有効なHTML4ドキュメントを作成するには、次の置換が正しいです。

  • 自己終了brタグを通常のbrタグで置き換えます(<br />で<br>)
  • 空のpタグをbrタグで置き換えます(<p />で<br>)
  • すべてのpタグにコンテンツがあり、閉じられていることを確認します(<p> ... with <p> ... </ p>)
2
Ralph Ritoch