sbt - 为什么 sbt 教程添加插件失败?
问题描述
我正在通过https://www.scala-sbt.org/1.x/docs/sbt-by-example.html上的 sbt 入门教程工作,当我在“添加 sbt-native-packager 插件”步骤后重新加载时“它添加了一个插件,它会失败,并带有许多警告和错误,提示“项目加载失败:(r)etry、(q)uit、(l)ast 或 (i)gnore?” 那时sbt基本上已经死了。我将附加完整的错误捕获。
我相信我遵循了所有指示。出了什么问题?
我努力了:
- 重启 sbt
- 撤消教程要求的最新代码(plugins.sbt 和 build.sbt 中的更改)并重新启动 sbt。然后 sbt 又活了,但是当然,一旦我将代码添加回来,它就会再次死掉。
为我知道的其他存储库添加解析器,
- https://www.scala-sbt.org/1.x/docs/Resolvers.html中提到的内置解析器
- 解析器+=“apache-repo”在“ https://repo.maven.apache.org/maven2/com/typesafe/ ”
解析器+=“lightbend”在“ https://repo.lightbend.com/typesafe/releases/ ”
解析器+=“lightbend”在“ https://repo.lightbend.com/typesafe/ivy-releases/ ”
- 完全替换“解析器”变量,以防早期的变量毒化过程。
- 将请求的版本从“1.3.4”更改为我知道存在的其他版本的 sbt-native-packager。基本上是同一个故事,不同的版本号。
由于我是 Scala 和 sbt 的新手,我可能会遗漏一些基本的东西,但我只是没有看到它。
这是完整的错误日志:
[info] Loading settings for project foo-build-build from plugins.sbt ...
[info] Loading project definition from /home/tehom/projects/ic-fab/foo-build/project
[warn]
[warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
[warn] com.typesafe.sbt:sbt-native-packager:1.3.4 (sbtVersion=1.0, scalaVersion=2.12)
[warn]
[warn] Note: Unresolved dependencies path:
[error] sbt.librarymanagement.ResolveException: Error downloading com.typesafe.sbt:sbt-native-packager;sbtVersion=1.0;scalaVersion=2.12:1.3.4
[error] Not found
[error] Not found
[error] not found: https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.3.4/sbt-native-packager-1.3.4.pom
[error] not found: /home/tehom/.ivy2/local/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.4/ivys/ivy.xml
[error] download error: Caught javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target) while downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.4/ivys/ivy.xml
[error] download error: Caught javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target) while downloading https://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.4/ivys/ivy.xml
[error] at lmcoursier.CoursierDependencyResolution.unresolvedWarningOrThrow(CoursierDependencyResolution.scala:246)
[error] at lmcoursier.CoursierDependencyResolution.$anonfun$update$34(CoursierDependencyResolution.scala:215)
[error] at scala.util.Either$LeftProjection.map(Either.scala:573)
[error] at lmcoursier.CoursierDependencyResolution.update(CoursierDependencyResolution.scala:215)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:60)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:52)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:102)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:69)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$20(LibraryManagement.scala:115)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:115)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:96)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:150)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:129)
[error] at sbt.Classpaths$.$anonfun$updateTask0$5(Defaults.scala:2947)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] at sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error] at sbt.Execute.work(Execute.scala:290)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] at java.base/java.lang.Thread.run(Thread.java:834)
[error] (update) sbt.librarymanagement.ResolveException: Error downloading com.typesafe.sbt:sbt-native-packager;sbtVersion=1.0;scalaVersion=2.12:1.3.4
[error] Not found
[error] Not found
[error] not found: https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.3.4/sbt-native-packager-1.3.4.pom
[error] not found: /home/tehom/.ivy2/local/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.4/ivys/ivy.xml
[error] download error: Caught javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target) while downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.4/ivys/ivy.xml
[error] download error: Caught javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target) while downloading https://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.4/ivys/ivy.xml
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
解决方案
我发现出了什么问题——大约,无论如何。它下面的 Sbt 和 Java 似乎有过时的安全证书。奇怪,因为我这周刚安装它。
命令:
sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure
更新了相关证书,然后它就起作用了。
推荐阅读
- flutter - 如何实现简单的弹出指南,如附图所示
- mongodb - Logstash mutate 删除字段名称'JSON'
- javascript - 将sql数据转换为json文件时如何去掉方括号
- android - 使用 SensorEvent 增加和减少动画和声音
- c++ - 帮助理解复制构造函数
- excel - 如何在粘贴信息和签名后放置正文?
- java - 通过确保实体存在来更新实体的最佳方法是否是 Spring Data JPA 中 getOne() 和 save() 的组合?
- read-the-docs - 是否可以为我的文档创建讨论页面?
- java - 无法将数据写入服务器端的多个 Firestore 项目
- url - Alfresco V5.2 - 如何在实时搜索 webscript 中获取当前页面 url