无法解析gradle-waroverlay-plugin:0.9.3依赖的Gradle问题求助
解决Gradle依赖解析错误(401访问Spring仓库)
问题根源
错误提示中的401状态码表明Gradle尝试访问需要认证的Spring libs-milestone仓库,但该仓库并不托管gradle-waroverlay-plugin插件;同时你配置中使用的jcenter()仓库已停止服务,无法正常提供依赖资源,这两个因素共同导致了依赖解析失败。
解决方案
1. 替换仓库并修正核心配置
将buildscript中的仓库替换为mavenCentral()(该插件托管在此仓库),移除无效的jcenter(),修改后的配置如下:
buildscript { repositories { mavenCentral() } dependencies { classpath "org.scaldingspoon.gradle:gradle-waroverlay-plugin:0.9.3" } } apply plugin: 'waroverlay' war { includeWarJars = true entryCompression = ZipEntryCompression.STORED }
2. 处理Spring仓库的认证需求(若项目确实需要)
如果你的项目其他模块依赖Spring的libs-milestone仓库,需要在仓库配置中添加认证凭证(建议通过环境变量或gradle.properties注入,避免硬编码敏感信息):
buildscript { repositories { mavenCentral() maven { url "https://repo.spring.io/libs-milestone" credentials { username = project.findProperty('springRepoUsername') ?: System.getenv('SPRING_REPO_USERNAME') password = project.findProperty('springRepoPassword') ?: System.getenv('SPRING_REPO_PASSWORD') } } } dependencies { classpath "org.scaldingspoon.gradle:gradle-waroverlay-plugin:0.9.3" } }
额外建议
- 检查项目根目录的
settings.gradle或其他模块配置,确认是否全局添加了Spring的libs-milestone仓库,避免依赖解析时不必要地访问需要认证的仓库。 - 可以尝试升级插件到最新稳定版本(如
0.9.4),确保与Gradle 6.8.3的兼容性。
内容的提问来源于stack exchange,提问作者Shafeeq Mohammed
相关产品推荐
相关产品推荐

