系统环境:
windows, Scala-2.12.10,JDK-1.8_40

错误提示:

Error while downloading https://repo.typesafe.com/typesafe/ivy-releases/com.lightbend/emoji_2.12/1.2.1/jars/emoji_2.12.jar: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target, ignoring it

解决步骤:

  1. 将错误提示的URL https://repo.typesafe.com/typesafe/ivy-releases/com.lightbend/emoji_2.12/1.2.1/jars 复制到浏览器中访问,右击该网页 进入Inspect --> Security -->View certificate -->详细信息 -->复制到文件 来导出并保存该网站的证书。导出文件格式选择 DER编码二进制X.509(.CER)(D) 格式。(注:此处导出证书的步骤可能因不同浏览器而不同。上述步骤使用的是chrome浏览器。)
  2. 用管理员权限打开命令行,运行命令keytool -import -noprompt -trustcacerts -alias <AliasName> -file <path-to-certificate.cer> -keystore <JAVA_HOME/jre/lib/security/cacerts> 来导入证书,其中为自定义的证书名称,<path-to-certificate.cer>为指向前面保存的证书文件绝对路径,<JAVA_HOME/jre/lib/security/cacerts>为java keystore的路径。
  1. 参考[1]中的命令选项-storepass <Password>可以去掉,不加密码。
  2. 若在执行命令keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts时要输入密码, 其默认密码为changeit

除了导入证书的解决方法外,还有一种方法是使用代理proxy方式,尚未实际验证。可参考[3, 5, 6]。


参考:

[1] Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?
[2] PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path to requested target.
[3] 关于在idea中导入sbt项目出现的问题
[4] 官方: Import the Certificate as a Trusted Certificate
[5] 使用代理的方法 scala sbt and corporate proxy - SunCertPathBuilderException
[6] SSL certificate problem in a web service proxy

Logo

一站式 AI 云服务平台

更多推荐