Gradle7.x下能否全局配置allowInsecureProtocol允许所有模块使用HTTP仓库?
可以通过全局配置实现无需逐个调整maven仓库项,常用有两种方案:
方案1:项目级配置(仅对当前项目生效)
修改项目根目录下的build.gradle文件,添加仓库全局遍历逻辑:
allprojects { repositories { all { repo -> // 匹配所有HTTP协议的仓库,自动开启不安全协议允许 if (repo.url.toString().startsWith("http://")) { repo.allowInsecureProtocol = true } } } }
该逻辑会自动扫描项目所有模块配置的全部仓库,无需修改原有分散的maven { url 'http://' }配置。
方案2:全局级配置(对本机所有Gradle项目生效)
如果需要适配本地所有Gradle项目,可在Gradle用户目录(默认路径为~/.gradle/,Windows系统为C:\Users\你的用户名\.gradle\)下新建init.d文件夹,在文件夹内创建任意后缀为.gradle的初始化脚本,比如命名为allow_http_repo.gradle,写入以下内容:
allprojects { repositories.all { repo -> if (repo.url.toString().startsWith("http://")) { repo.allowInsecureProtocol = true } } }
Gradle启动时会自动加载init.d目录下的所有脚本,无需修改任意项目内的配置文件。
注意:该配置会跳过HTTP仓库的安全校验,仅建议在内部私有网络环境下使用,公网环境请优先将仓库地址升级为HTTPS协议,避免依赖被篡改、劫持的安全风险。
内容的提问来源于stack exchange,提问作者Emre Bahadır
相关产品推荐
相关产品推荐

