首页 > 学院 > 开发设计 > 正文

解决错误:unable to find valid certification path to requested target

2019-11-07 23:56:30
字体:
来源:转载
供稿:网友

现象分析

今天的小目标是通过Android Studio发布Library到私有仓库(公司私有仓库:https://maven.bingosoft.net ),然而,在最后执行uploadArchives(上传包)的时候突然报了如下错误: unable to find valid certification path to requested target

从图中看出,大致原因是Android Studio在执行上传动作的时候,遇到了 SSL问题,目测是因为目标仓库是 https的协议,如下:

通常出现这种错误解决办法都是【往JDK里面导入证书】

解决办法

从网站上下载证书

推荐使用IE来导出cer证书,其他浏览器比较隐秘。个中细节不详述,请看下面:

证书导出后假设名字叫做 server.cer

通过keytool命令导入server.cer

keytool -import -file cerPath -keystore "%java_HOME%/jre/lib/security/cacerts" -alias server

其中cerPath是刚导出来的 server.cer 文件路径, -alias server 表示别名是 server 。 顺利的话可以看到如下信息,表示正常导入到 %JAVA_HOME% 里面:

重新执行uploadArchives

理论上来说,已经将证书导入JDK,应该正常执行才对,没想到依旧报文初的错误。郁闷良久,突然想起Android Studio 里面自带了JDK, 毕竟导入到 %JAVA_HOME% 是系统层面的。 打开 SDK Location,如笔者所想:

果真如此,Android Studio 推荐使用的是:

/applications/Android Studio.app/Contents/jre/jdk/Contents/Home

于是乎,按照上面的步骤,将server.cer 导入到 这个JDK里面。 请注意图片上的红字,在Android Studio里面的JDK,默认的口令是 changeit ,不是 系统登录密码。最后别忘记确认:

重启Android Studio,执行 uploadArchives 即可!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表