You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Maven Wagon的ssl insecure参数对应的Gradle等价配置查询

Gradle中等价于Maven -Dmaven.wagon.http.ssl.insecure=true 的配置

当然有对应的Gradle配置方案!我会分两种场景给你说明,分别对应临时调试和持久化的仓库配置:

1. 命令行临时忽略SSL验证(类似Maven的参数方式)

如果只是临时需要跳过SSL证书校验(比如调试内部自签证书的仓库),可以在执行Gradle命令时通过JVM参数实现:

./gradlew yourTaskName -Dorg.gradle.jvmargs="-Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStore=/dev/null -Djavax.net.ssl.trustStorePassword=changeit"

这条命令会让Gradle的JVM进程忽略SSL证书的有效性,和Maven的-Dmaven.wagon.http.ssl.insecure=true效果一致,但注意这是全局生效的,不建议在生产环境使用。

2. 构建脚本中精准配置(推荐方式)

Gradle提供了更可控的配置方式——针对单个仓库开启不安全协议支持,这样只会影响你指定的仓库,不会全局破坏SSL安全性。分两种DSL写法:

Groovy DSL(适用于build.gradle

repositories {
    maven {
        url "https://your-insecure-repo.example.com/maven"
        allowInsecureProtocol = true // 核心配置,等价于Maven的ssl.insecure=true
    }
}

Kotlin DSL(适用于build.gradle.kts

repositories {
    maven {
        url = uri("https://your-insecure-repo.example.com/maven")
        isAllowInsecureProtocol = true // Kotlin DSL中布尔属性用is前缀
    }
}

额外补充

如果你需要全局默认忽略SSL验证(非常不推荐,仅用于极端调试场景),可以在项目根目录的gradle.properties文件中添加以下配置:

org.gradle.jvmargs=-Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStore=/dev/null -Djavax.net.ssl.trustStorePassword=changeit

内容的提问来源于stack exchange,提问作者user16778785

火山引擎 最新活动