You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle生成Javadoc时概览仅展示子包无顶层包如何解决

Javadoc概览页不显示顶层包的解决方案

该问题是Javadoc默认包检测规则导致的:仅包含类文件、无package-info.java的包不会默认展示在概览页,部分场景下Gradle的源集收集逻辑也会过滤掉没有包描述文件的顶层包。可按以下步骤修复:

步骤1:补充顶层包描述文件

在父模块的src/main/java/mypackage/目录下新建package-info.java,内容示例:

/**
 * 项目顶层包,包含入口类及全局公共定义
 */
package mypackage;

步骤2:调整Javadoc任务配置

修改你的genJavadocs任务,显式指定要包含的包范围,避免默认规则过滤:

task genJavadocs(type: Javadoc) {
    options.source = "8"
    options.addStringOption("link", "https://docs.oracle.com/javase/8/docs/api/")
    // 新增:显式指定要包含的根包,覆盖默认包检测逻辑
    options.addStringOption("subpackages", "mypackage")
    Project[] projects = [project(':core'), project]
    source projects.collect { project -> project.delombok }
    classpath = files(projects.collect { project -> project.sourceSets.main.compileClasspath })
}

步骤3:适配delombok逻辑(可选,仅delombok后包文件丢失时需要)

delombok默认不会复制package-info.java到输出目录,需手动配置保留:

delombok {
    doLast {
        copy {
            from projects.collect { it.sourceSets.main.java.srcDirs }
            include "**/package-info.java"
            into delombok.targetDir.get()
        }
    }
}

调整完成后重新执行Javadoc生成任务,概览页就会正常展示mypackage顶层包。

内容的提问来源于stack exchange,提问作者Big_Bad_E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 14:06:05