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

添加sentry插件后执行Gradle Build出现licenseMain任务配置错误

Gradle构建错误解决方案(Sentry+License插件冲突)

问题背景

添加Sentry JVM Gradle插件(id 'io.sentry.jvm.gradle' version '3.13.0')后执行./gradlew build,触发两类构建错误,项目已预先配置com.github.hierynomus.license插件(v0.16.1)及本地license.gradle文件。


错误1:LICENSE文件缺失

错误详情

licenseMain任务(LicenseCheck类型)指定的header文件/Users/user/work/projects/con/cfc/LICENSE不存在,导致输入文件校验失败。

解决步骤

  • 直接创建文件:检查指定路径,若确实无LICENSE文件,创建或复制符合项目许可要求的LICENSE文件到该路径。
  • 关联生成任务(若LICENSE为动态生成):如果LICENSE文件由其他Gradle任务生成,在license.gradle中添加依赖声明,确保生成任务先执行:
    tasks.named('licenseMain') {
        dependsOn tasks.named('你的LICENSE生成任务名') // 替换为实际任务名称
    }
    

错误2:任务执行顺序依赖缺失

错误详情

licenseMain扫描了Sentry插件生成的build/generated/sentry目录,但未声明对generateSentryDebugMetaPropertiesjava和collectExternalDependenciesForSentry任务的依赖,Gradle检测到执行顺序风险。

解决步骤

在项目的build.gradle或license.gradle中添加依赖配置,确保Sentry的生成任务先于licenseMain执行:

方案1:强依赖(推荐)

确保Sentry任务完成后才执行licenseMain:

tasks.named('licenseMain') {
    dependsOn tasks.named('generateSentryDebugMetaPropertiesjava')
    dependsOn tasks.named('collectExternalDependenciesForSentry')
}
方案2:指定执行顺序(非强依赖)

仅保证licenseMain在Sentry任务之后执行,不强制Sentry任务必须成功:

tasks.named('licenseMain') {
    mustRunAfter tasks.named('generateSentryDebugMetaPropertiesjava')
    mustRunAfter tasks.named('collectExternalDependenciesForSentry')
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:55:22