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

Gradle如何配置仅在执行deploy任务时生成javadoc,常规构建跳过

实现方案

你可以通过调整javadoc相关任务的执行条件、绑定部署任务依赖来实现需求,配置方式如下:

基础配置(适用于大多数场景)

1. 调整默认构建逻辑

保留你现有的javadoc启用配置,同时设置javadoc相关任务默认不执行:

java {
  withJavadocJar()
}

// 常规构建时不执行javadoc生成和打包任务
tasks.named('javadoc') {
    onlyIf { false }
}
tasks.named('javadocJar') {
    onlyIf { false }
}

2. 绑定部署任务触发逻辑

给你的deploy任务添加依赖,仅在执行部署操作时强制启用javadoc任务:

如果你使用的是maven-publish插件,部署任务名一般为publish,如果是自定义的部署任务,替换为你自己的deploy任务名即可

tasks.named('deploy') {
    // 部署任务依赖javadoc打包任务
    dependsOn tasks.named('javadocJar')
    // 执行部署时覆盖规则,强制运行javadoc相关任务
    tasks.named('javadoc').configure {
        onlyIf { true }
    }
    tasks.named('javadocJar').configure {
        onlyIf { true }
    }
}

可选灵活配置

如果你需要更自由的触发控制,也可以通过项目参数开关实现:

  • 日常构建执行gradle build:不会触发javadoc生成
  • 部署时执行gradle deploy -PenableJavadoc:自动执行javadoc生成
    对应配置如下:
java {
    withJavadocJar()
}

// 仅当传入enableJavadoc参数时才执行javadoc相关任务
tasks.named('javadoc') {
    onlyIf { project.hasProperty('enableJavadoc') }
}
tasks.named('javadocJar') {
    onlyIf { project.hasProperty('enableJavadoc') }
}

tasks.named('deploy') {
    dependsOn tasks.named('javadocJar')
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:57:04