大多數開發者只用 Javadoc 寫純文本,其實 Javadoc 完整支持 HTML 標簽和內聯 CSS,能生成帶鏈接、加粗、顏色、代碼高亮的專業級 API 文檔。本文揭秘這項「隱藏技能」並給出實用範例。
/**
* 這是一個測試類
*/
public class Test {
/**
* 程序的入口
*/
public static void main(String[] args) {
new Test();
}
}
IDE 中 Ctrl+Q (IntelliJ) 或懸停 (Eclipse) 顯示純文本。
/**
* <a href='https://www.baidu.com' style='color:red;font-weight:900;text-decoration:underline;'>
* 點擊跳轉百度(紅色粗體下劃線)
* </a>
*/
public class Test {
/**
* <ul>
* <li><b>參數 1</b>: 主鍵 ID</li>
* <li><b>參數 2</b>: 用戶名</li>
* </ul>
* <p style='color:#d9534f;'><strong>注意:</strong> 此方法不支持批量操作</p>
* @param id 主鍵
* @return 用戶對象
*/
public User findById(Long id) { ... }
}
| 分類 | 標簽 | 示例 |
|---|---|---|
| 文本樣式 | <b>, <strong> | 加粗 |
<i>, <em> | 斜體 | |
<u> | 下劃線 | |
<code>, <tt> | 等寬代碼 | |
| 結構 | <p> | 段落 |
<ul>, <ol>, <li> | 列表 | |
<br> | 換行 | |
| 鏈接/圖片 | <a href="..."> | 超鏈接(支持 http/mailto/anchor) |
<img src="..."> | 嵌入圖片(相對/絕對路徑) | |
| 表格 | <table>, <tr>, <td>, <th> | 簡易表格 |
在 style 屬性中可用:
color:red / #ff0000 / rgb(255,0,0)font-weight:bold / 900font-family:monospace / Consolasbackground-color:#f5f5f5margin:5px; padding:3pxborder:1px solid #ccc/**
* <div style='background:#fff3cd;border:1px solid #ffc107;padding:10px;border-radius:4px;color:#856404;'>
* <strong>⚠ 警告:</strong> 此方法會清空緩存,請謹慎調用!
* </div>
*/
/**
* <table style='border-collapse:collapse;width:100%;'>
* <tr style='background:#f8f9fa;'><th style='border:1px solid #dee2e6;padding:5px;'>參數</th><th style='border:1px solid #dee2e6;padding:5px;'>類型</th><th style='border:1px solid #dee2e6;padding:5px;'>必填</th><th style='border:1px solid #dee2e6;padding:5px;'>說明</th></tr>
* <tr><td style='border:1px solid #dee2e6;padding:5px;'>id</td><td style='border:1px solid #dee2e6;padding:5px;'>Long</td><td style='border:1px solid #dee2e6;padding:5px;'>是</td><td style='border:1px solid #dee2e6;padding:5px;'>用戶主鍵</td></tr>
* <tr><td style='border:1px solid #dee2e6;padding:5px;'>name</td><td style='border:1px solid #dee2e6;padding:5px;'>String</td><td style='border:1px solid #dee2e6;padding:5px;'>否</td><td style='border:1px solid #dee2e6;padding:5px;'>用戶名</td></tr>
* </table>
*/
/**
* 使用示例:
* <pre style='background:#f8f9fa;border:1px solid #e9ecef;padding:10px;border-radius:4px;overflow:auto;'>
* <code>
* UserService service = context.getBean(UserService.class);
* User user = service.findById(1001L);
* System.out.println(user.getName());
* </code>
* </pre>
*/
# 生成 HTML 文檔到 docs 目錄
javadoc -d docs -sourcepath src/main/java -subpackages com.example -encoding UTF-8 -charset UTF-8 -docencoding UTF-8
< > 在註釋中直接寫,不要轉義為 < ><script>、<style>、<iframe> 等不安全標簽(Javadoc 會過濾)<style> 塊和外部樣式表doc-files 目錄生成的 HTML 文檔中,類/方法摘要將顯示為富文本:紅色鏈接可點擊跳轉、表格對齊整齊、代碼塊保持縮進、警告框醒目突出,極大提升 API 文檔的可讀性與專業度。
善用 HTML/CSS,讓你的 Javadoc 從「說明書」進化為「產品手冊」。