如何在Java 19环境下生成Javadoc?
Java 19环境下用javadoc生成文档的正确命令行方案
错误原因说明
你遇到的No source files for package java错误,核心问题是用了Java 7时代的javadoc参数,但Java 9及以后引入了模块系统,JDK源码结构从传统的包层级改为按模块划分,原有的-subpackages参数不再适配JDK自身的源码结构。
正确命令行示例
假设你的Java 19源码根目录是19-src,以下是针对模块化场景的命令:
1. 生成单个模块的文档(比如java.base模块)
javadoc -d doc --module-source-path 19-src --module java.base
--module-source-path:指定模块源码的根目录,该目录下需包含各个模块的子文件夹(如java.base)--module:指定要生成文档的模块名-d:指定生成的文档输出目录
2. 排除模块内的特定包
如果需要排除java.net和java.lang包,修改命令为:
javadoc -d doc --module-source-path 19-src --module java.base -exclude java.net,java.lang
3. 生成多个模块的文档
用逗号分隔多个模块名即可:
javadoc -d doc --module-source-path 19-src --module java.base,java.sql
额外注意事项
- 确保
19-src是Java 19完整源码的根目录,而非随便的代码目录,JDK源码每个模块的结构是模块名/包路径(比如java.base/java/lang/String.java) - 如果是你自己的非模块化项目(无
module-info.java),仍可使用-sourcepath和-subpackages,但要保证sourcepath指向的目录下直接包含你的包目录(比如你的代码在src/com/example,则sourcepath设为src,-subpackages com)
内容的提问来源于stack exchange,提问作者TheGeeko61
相关产品推荐
相关产品推荐

