Gradle是否支持跳过校验和?Maven具备checksum policy控制选项
Gradle是否支持跳过校验和校验?
别担心,Gradle完全支持跳过校验和校验的功能,只是它的配置方式和Maven的checksum policy不太一样,可能你没在文档里精准定位到对应的配置项。下面分两种场景给你说明具体的配置方法:
全局跳过所有仓库的校验和校验
如果你想让所有仓库都跳过校验和校验,可以在settings.gradle(Groovy)或者settings.gradle.kts(Kotlin)中添加以下配置:
Groovy 写法
settingsEvaluated { settings -> // 针对插件管理仓库 settings.pluginManagement.repositories.all { repo -> repo.metadataSources { ignoreMetadataChecksums() // 跳过元数据(如POM/module文件)的校验和 } repo.content { ignoreChecksums() // 跳过实际构件(如JAR/AAR)的校验和 } } // 针对依赖解析仓库 settings.dependencyResolutionManagement.repositories.all { repo -> repo.metadataSources { ignoreMetadataChecksums() } repo.content { ignoreChecksums() } } }
Kotlin 写法
settingsEvaluated { pluginManagement.repositories.all { metadataSources { ignoreMetadataChecksums() } content { ignoreChecksums() } } dependencyResolutionManagement.repositories.all { metadataSources { ignoreMetadataChecksums() } content { ignoreChecksums() } } }
针对单个仓库跳过校验和校验
如果只需要针对特定仓库跳过校验和,直接在该仓库的配置块中添加对应设置即可:
Groovy 写法(build.gradle)
repositories { maven { url "https://your-trusted-repo.com" metadataSources { ignoreMetadataChecksums() } content { ignoreChecksums() } } }
Kotlin 写法(build.gradle.kts)
repositories { maven { url = uri("https://your-trusted-repo.com") metadataSources { ignoreMetadataChecksums() } content { ignoreChecksums() } } }
注意:跳过校验和校验会降低依赖的安全性,因为无法验证构件是否被篡改。这个操作只建议在可信的内部仓库或者临时调试场景下使用,生产环境尽量保持校验和校验开启。
内容的提问来源于stack exchange,提问作者Jonathan S. Fisher
相关产品推荐
相关产品推荐

