Gradle初始化脚本配置仓库时如何开启allowInsecureProtocol
解决Gradle初始化脚本中allowInsecureProtocol编译错误的方法
出现"Unresolved reference: allowInsecureProtocol"错误,核心原因是Kotlin DSL初始化脚本中,直接设置该属性需要明确绑定仓库类型的配置块,或通过类型转换访问属性。以下是两种可行的解决方式:
方式一:明确指定仓库类型(推荐)
针对HTTP仓库,使用maven { ... }或ivy { ... }专属配置块,在其中直接声明allowInsecureProtocol:
settingsEvaluated { repositories { maven { url = uri("http://your-enterprise-repo.com/maven") allowInsecureProtocol = true } } }
若需全局配置所有项目:
allprojects { repositories { maven { url = uri("http://your-enterprise-repo.com/maven") allowInsecureProtocol = true } } }
方式二:通过类型转换访问属性
如果是通过变量引用已定义的仓库,需将仓库对象转换为对应类型(如MavenArtifactRepository)后再设置属性:
val enterpriseRepo = repositories.maven { url = uri("http://your-enterprise-repo.com/maven") } (enterpriseRepo as MavenArtifactRepository).allowInsecureProtocol = true
额外注意
- 确认Gradle版本在6.0及以上,该属性是Gradle 6.0才引入的特性,低版本需先升级Gradle。
- 仅在企业内部可信环境中使用该属性,HTTP协议存在安全风险,优先考虑切换至HTTPS仓库。
内容的提问来源于stack exchange,提问作者René Link
相关产品推荐
相关产品推荐

