maven 下载jar包报错:

unable to find valid certification path to requested target

一.错误原因

    Java在访问SSL加密的网站时,需要从JDK的KeyStore 里面去查找相对应得可信证书,如果不能从默认或者指定的KeyStore 中找到可信证书,就会报这个错误。另外,Java所使用的证书仓库并不是Windows系统自带的证书管理。所以即使系统中包含此证书也不可以使用。

二.解决方案

   将SSL的证书添加到KeyStore中

第一步是要下载证书

去你程序要访问的网站,点击那个锁按钮-》点击详细信息->复制到文件->下一步->选择格式base64->生成的名称,最后保存.

第二部导入证书

因为我的jdk安装到C盘,是只读文件夹,需要管理员权限。

管理员运行CMD->切换到jdk/jre/lib/security/
执行:keytool -import -alias abc -keystore cacerts -file D://abc.cer
注意这里需要jdk配置环境变量,不然会报keytool不是内部命令。
库密钥口令输入:changeit
是否信任:Y
查看证书,密钥仍然是changeit:keytool -list -keystore cacerts -alias vbooking