You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gradle GraalVM插件中配置代理编译Spring Boot 3 Spring Native

企业代理环境下Spring Native构建代理配置问题

环境信息

  • Spring Boot 3
  • Gradle 7.6 + Oracle JDK 17.0.6
  • GraalVM CE Java17 22.3.1
  • org.graalvm.buildtools.native 插件版本0.9.18

已配置内容(gradle.properties)

systemProp.http.proxyHost=****
systemProp.http.proxyPort=****
systemProp.https.proxyHost=****
systemProp.https.proxyPort=****
systemProp.javax.net.ssl.trustStoreType=Windows-ROOT
systemProp.javax.net.ssl.trustStore=C:\\Windows\\win.ini
org.gradle.jvmargs=-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT -Djavax.net.ssl.trustStore=C:\\Windows\\win.ini -Dhttp.proxyHost=**** -Dhttp.proxyPort=**** -Dhttps.proxyHost=**** -Dhttps.proxyPort=**** 

报错信息

从https://www.graalvm.org/component-catalog/v2/graal-updater-component-catalog-java17.properties下载组件目录失败:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到请求目标的有效证书路径。

解决方案:build.gradle中graalvmNative块的代理配置

Gradle系统属性无法直接传递给GraalVM的组件更新器(gu)进程,需要在build.gradle的graalvmNative块中,为nativeCompile任务单独配置代理和SSL信任参数:

graalvmNative {
    binaries {
        main {
            // 代理配置
            buildArgs.add("-Dhttp.proxyHost=****")
            buildArgs.add("-Dhttp.proxyPort=****")
            buildArgs.add("-Dhttps.proxyHost=****")
            buildArgs.add("-Dhttps.proxyPort=****")
            // SSL信任存储配置
            buildArgs.add("-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT")
            buildArgs.add("-Djavax.net.ssl.trustStore=C:\\Windows\\win.ini")
        }
    }
}

额外说明

  • 若企业代理需要账号密码认证,需追加以下参数:
    buildArgs.add("-Dhttp.proxyUser=****")
    buildArgs.add("-Dhttp.proxyPassword=****")
    buildArgs.add("-Dhttps.proxyUser=****")
    buildArgs.add("-Dhttps.proxyPassword=****")
    
  • 确认C:\\Windows\\win.ini为有效信任存储路径,部分企业环境需替换为内部CA证书文件路径。

内容的提问来源于stack exchange,提问作者Herisson-88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:03:06