通过SBT下载插件时如何解决SSL错误?

时间:2019-07-01 20:17:48

标签: scala jvm sbt ssl-certificate

我有一个fairly minimal example SBT项目。

尤其是我的project/plugins.sbt

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.9")

这是我的project/build.properties

sbt.version = 1.2.8

加载项目时出现SBT错误:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.eed3si9n#sbt-assembly;0.14.9: Resolution failed several times for dependency: com.eed3si9n#sbt-assembly;0.14.9 {compile=[default(compile)]}::
[warn]  typesafe-ivy-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.9: res=https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.9/ivys/ivy
.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certificat
ion path to requested target
[warn]  sbt-plugin-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.9: res=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.9/iv
ys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid cert
ification path to requested target
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]          com.eed3si9n:sbt-assembly:0.14.9 (scalaVersion=2.12, sbtVersion=1.0)
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]          com.eed3si9n:sbt-assembly:0.14.9 (scalaVersion=2.12, sbtVersion=1.0) (/Users/dah/vc/noddy-akka-http/project/plugins.sbt#L1-2)
[warn]            +- default:noddy-akka-http-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)

并结束

[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.14.9: Resolution failed several times for dependency: com.eed3si9n#sbt-assembly;0.14.9 {compile=
[default(compile)]}::
[error]         typesafe-ivy-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.9: res=https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.9/
ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[error]         sbt-plugin-releases: unable to get resource for com.eed3si9n#sbt-assembly;0.14.9: res=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.9/ivys/ivy.xml: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

这是我已安装的JVM的版本:

$ /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

尽管,当我运行sbt console(从没有SBT项目的目录中)时,我得到:

Welcome to Scala version 2.10.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31).
Type in expressions to have them evaluated.
Type :help for more information.

我有macOS Mojave 10.14.5。

我认为我需要更新证书存储。我将如何去做?

还是我应该做其他事情来解决这个问题?

1 个答案:

答案 0 :(得分:1)

通过执行sbt控制台再次检查sbt使用的Java版本。它应该说类似Welcome to Scala 2.12.7 (OpenJDK 64-Bit Server VM, Java 1.8.0_202)。就个人而言,我建议清理当前安装并像这样尝试adoptopenjdk8

brew cask install adoptopenjdk8