Spring Tools Suite创建Gradle Spring项目失败,报SSL握手异常求助
解决STS创建Gradle Spring项目时的SSL握手失败问题
这问题我之前帮同事排查过,核心原因是你STS绑定的32位JRE没有信任Gradle分发服务器的SSL证书,导致下载gradle-4.5.1-bin.zip时触发了PKIX路径验证失败的错误——而Maven能正常运行,大概率是因为Maven用了系统证书或者自身配置的证书库,和Gradle Tooling API的证书来源不一样。
给你三个针对性的解决方案,按优先级推荐:
方案一:手动配置本地Gradle分发(最快绕过问题)
- 先下载对应版本的Gradle包:
gradle-4.5.1-bin.zip,解压到本地固定目录,比如C:\local-gradle\gradle-4.5.1 - 打开STS,依次点击
Window > Preferences > Gradle > Installation - 点击
Add按钮,选择刚才解压好的本地Gradle目录,设为默认安装 - 重启STS后再尝试创建项目,这次会直接用本地Gradle包,绕开在线下载的SSL验证
方案二:给32位JRE导入Gradle官网的SSL证书(彻底解决信任问题)
- 获取证书:打开浏览器访问
https://services.gradle.org,点击地址栏锁形图标,导出DER编码的二进制X.509格式证书,保存到本地 - 找到32位JRE的证书库路径,通常是
C:\Program Files (x86)\Java\jre1.8.xxx\lib\security\cacerts(替换xxx为实际JRE版本号) - 以管理员身份打开命令提示符,执行导入命令(替换路径为你自己的):
keytool -import -alias gradle-services-cert -file C:\你保存证书的路径\gradle-cert.cer -keystore "C:\Program Files (x86)\Java\jre1.8.xxx\lib\security\cacerts" - 输入证书库默认密码
changeit,按提示输入y确认导入 - 重启STS后再尝试创建项目,SSL握手问题就会消失
方案三:检查网络代理设置(如果环境需要代理)
- 打开STS的
Window > Preferences > General > Network Connections,确认代理配置和Maven使用的一致 - 如果代理服务器需要SSL证书,也要把代理证书导入到32位JRE的
cacerts证书库中,步骤同方案二
注意事项
一定要操作32位JRE的证书库,因为你用的是32位STS,它会优先绑定32位JRE,别误操作64位JRE的证书库哦。
内容的提问来源于stack exchange,提问作者Boris
相关产品推荐
相关产品推荐

