Gradle 7.x.x GitLab流水线构建报错:publish未声明对jar任务的依赖
解决Gradle 7.x.x中publish任务未声明依赖jar任务的问题
显式声明任务依赖
直接为publish任务添加对jar任务的依赖,在build.gradle中加入以下配置:
tasks.named('publish') { dependsOn tasks.named('jar') }
如果是多模块项目,需在对应子模块的配置文件中添加;若使用特定的发布任务(如publishMavenPublicationToRepository),可针对该任务声明依赖。
校验publication与jar产物的关联
确保publishing块中的publication正确关联jar组件,标准配置如下:
publishing { publications { mavenJava(MavenPublication) { from components.java // 自动关联jar任务输出 } } repositories { // 此处配置你的仓库地址 } }
若使用自定义jar任务,需显式指定关联:
publishing { publications { mavenJava(MavenPublication) { artifact tasks.named('jar') // 绑定自定义jar任务 } } }
排查潜在配置冲突
- 检查是否有第三方插件修改了publish或jar任务的依赖关系,这类插件可能会干扰默认的任务依赖链
- 执行命令
gradle dependencies --configuration publishRuntimeClasspath查看依赖树,确认publish任务的依赖列表中是否包含jar任务 - 清理GitLab流水线的构建缓存后重新执行构建,避免旧缓存导致的配置异常
内容的提问来源于stack exchange,提问作者DHARMIK SONI
相关产品推荐
相关产品推荐

