JDK17环境下如何让JavaDoc显示Unicode字符而非转义序列?
解决JavaDoc生成时注解message中文转Unicode的问题
针对JDK 17、Spring Boot 3.0.5、STS 4.17.1环境下,生成JavaDoc时注解中message的中文被转译为Unicode转义序列的问题,可通过以下几种方式解决:
1. 直接使用javadoc命令行
执行javadoc命令时,添加编码相关参数,强制使用UTF-8编码处理字符:
javadoc -encoding UTF-8 -docencoding UTF-8 -charset UTF-8 [其他参数,如源文件路径、输出路径等]
2. Maven项目配置
在项目的pom.xml中配置maven-javadoc-plugin,指定编码参数:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.5.0</version> <configuration> <!-- 源文件编码 --> <encoding>UTF-8</encoding> <!-- 生成的JavaDoc文档编码 --> <docencoding>UTF-8</encoding> <!-- 文档字符集 --> <charset>UTF-8</charset> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
配置后执行mvn javadoc:javadoc即可生成保留原中文的JavaDoc。
3. STS中生成JavaDoc的配置
通过STS可视化操作生成JavaDoc时,添加编码参数:
- 右键项目 → 选择「Export」→ 依次展开「Java」→ 选择「Javadoc」→ 点击「Next」
- 进入「Options」步骤,在「Additional Javadoc options」输入框中添加:
-encoding UTF-8 -docencoding UTF-8 -charset UTF-8 - 完成后续步骤,生成的JavaDoc将显示原中文字符。
额外注意事项
确保项目编码为UTF-8:
- 项目级设置:右键项目 →「Properties」→「Resource」→「Text file encoding」选择「UTF-8」
- STS全局设置:点击「Window」→「Preferences」→「General」→「Workspace」→「Text file encoding」选择「UTF-8」
原理说明:默认javadoc工具会将非ASCII字符转译为Unicode转义序列,指定UTF-8编码后,工具会直接保留原中文字符,同时生成的HTML文档也会采用UTF-8编码,保证浏览器正确渲染中文。
内容的提问来源于stack exchange,提问作者John Zhang
相关产品推荐
相关产品推荐

