Java文档注释支持基础HTML标签如、、、、、、、、、等,JDK 8+可正确渲染;、已废弃,和需谨慎使用;、style属性、等被过滤或不支持。

Java 文档注释(即以 /** ... */ 包裹的 Javadoc)在解析时会将其中的 HTML 标签当作原始 HTML 处理,但支持程度取决于生成工具(主要是 javadoc 工具)的版本和输出目标(如 HTML5、HTML4),并非所有标签都安全可用,部分标签会被过滤或忽略。
基础 HTML 标签基本可用
以下标签在大多数 JDK 版本(JDK 8 及以上)中可直接使用,且能正确渲染为 HTML:
-
<p></p>、<br>:段落与换行(<br>推荐自闭合写法<br>) -
<ul></ul>、<ol></ol>、<li>:列表结构 <code>、<pre class="brush:php;toolbar:false;"></pre>:内联代码与预格式化文本(<code>更常用,语义更准)-
<strong></strong>、<em></em>:强调加粗与斜体(比<b></b>/<i></i>更推荐,语义清晰) <table>、<code><tr>、<code><td>、<code><th>:表格(简单表格可用,但响应式支持弱)<h3>需谨慎使用的标签</h3> <p>以下标签虽不报错,但存在兼容性或可访问性问题:</p> <ul> <li> <code><font></font>、<center></center>:已废弃,JDK 12+ 默认禁用,建议用 CSS 替代(但 Javadoc 不支持自定义 CSS,故应避免)-
<img alt="Java 文档注释中 HTML 标签支持情况" >:支持,但路径必须是相对路径(相对于生成文档的根目录),且需确保资源随文档一并发布;推荐仅用于必要图示,避免绝对路径或网络 URL -
<a href="..."></a>:支持内部锚点(如#method-name)和外部链接,但跨模块跳转需配合模块系统配置
明确不支持或被剥离的内容
为安全与标准化考虑,Javadoc 工具会主动移除以下内容:
立即学习“Java免费学习笔记(深入)”;
- 所有 JavaScript(如
<script></script>、onclick等事件属性)—— 直接被过滤,不渲染 - 内联样式(
style="...")—— JDK 11+ 默认剥离,即使保留也易被浏览器默认样式覆盖 -
<iframe></iframe>、<object></object>、<embed></embed>:出于安全限制,一律不支持 - 自定义标签或 XML 命名空间(如
<tag></tag>):解析失败或静默忽略
最佳实践建议
保持 Javadoc 清晰、可维护、跨版本兼容:
- 优先使用语义化标签(
<code>、<em></em>、<pre class="brush:php;toolbar:false;"></pre>),少用表现型标签 - 多行说明用
<p></p>分段,避免依赖<br>控制布局 - 代码片段统一用
<code>(单行)或<pre class="brush:php;toolbar:false;"><code></code>(多行),不要用 <code><tt></tt></code></pre> - 生成文档时添加
-html5参数(JDK 9+ 默认),确保输出符合现代标准 - 避免嵌套过深的 HTML,Javadoc 解析器对复杂结构容错有限



















