Spring Tool Suite 4启动报SunCertPathBuilderException 如何配置代理新建Spring Starter项目
STS4新建Spring Starter项目SunCertPathBuilderException代理配置方案
该报错为JVM无法识别目标站点的SSL证书导致,代理环境下按以下步骤配置即可解决:
1. 配置STS全局代理
- 打开STS,依次点击顶部菜单
Window->Preferences->General->Network Connections - 将Active Provider设置为Manual
- 分别配置HTTP、HTTPS代理的地址、端口,若代理需要身份认证,填写对应用户名和密码
- 点击
Apply and Close保存配置
2. 导入代理根证书到JDK信任库
代理环境下该问题90%以上是因为代理自签证书未导入JDK信任库导致:
- 先导出代理根证书:用浏览器访问
https://start.spring.io,点击地址栏的锁图标,选择「证书」->「详细信息」->「复制到文件」,导出为Base64编码的X.509格式,保存为proxy.cer - 找到STS使用的JDK安装路径,进入对应信任库目录:
- JDK8及以下:
jre/lib/security - JDK9及以上:
lib/security
- JDK8及以下:
- 在当前目录打开命令行,执行导入命令:
keytool -import -alias proxy_root -keystore cacerts -file 你的proxy.cer文件完整路径 - 提示输入信任库密码时输入默认密码changeit,确认导入时输入
yes即可
3. 验证Spring Initializr配置
- 打开STS的
Preferences,找到Spring->Boot->Start Initializr - 确认Initializr服务地址为
https://start.spring.io,若使用公司私有服务替换为对应地址 - 重启STS后即可正常创建项目
项目启动时同样报错的补充配置
- 右键点击项目,选择
Run As->Run Configurations - 找到对应的Spring Boot启动配置,在
Arguments标签页的VM arguments中添加以下参数:
-Dhttp.proxyHost=你的代理IP/域名 -Dhttp.proxyPort=你的代理端口 -Dhttps.proxyHost=你的代理IP/域名 -Dhttps.proxyPort=你的代理端口 -Djavax.net.ssl.trustStore=你的JDK cacerts文件完整路径
- 保存配置后重启项目即可
内容的提问来源于stack exchange,提问作者Gustavo
相关产品推荐
相关产品推荐

