我想使用Scala2.13.xx的标准库来使用并发库的最新未发布版本。我试着用它:
scalaVersion := "2.13.0-M1"
这导致:[error] sbt.librarymanagement.ResolveException: unresolved dependency: com.twitter#util-collection_2.13.0-M1;18.9.1: not found [error] unresolved dependency: org.scala-stm#scala-stm_2.13.0-M1;0.8: not found [error] unresolved dependency: org.scalactic#scalactic_2.13.0-M1;3.0.5: not found [error] unresolved dependency: org.scalatest#scalatest_2.13.0-M1;3.0.5: not found [error] unresolved dependency: com.storm-enroute#scalameter_2.13.0-M1;0.8.2: not found
是否有任何方法可以使用sbt使用Scala标准库的最新未发布版本,或者因为没有使用Scala2.13.xx构建的依赖关系而无法使用?
发布于 2018-10-18 14:34:58
设置scalaVersion将同时使用该版本的编译器和标准库。
但是,任何依赖项都需要使用二进制兼容Scala版本构建。对于里程碑来说,这只是同一个里程碑。如果您查看https://mvnrepository.com/artifact/org.scalactic/scalactic等,除了ScalaMeter和util-集合之外,它们都有为2.13.0-M2发布的版本。
对于缺少的依赖项,您可以获取源代码,更改它们的scalaVersion并使用sbt publishLocal (如果其中任何一个使用的是SBT以外的构建系统,则使用sbt publishLocal)。希望它们能够在没有源更改的情况下构建和工作。
技术上,您还可以通过以下方法更改标准库版本:
autoScalaLibrary := false
libraryDependencies += "org.scala-lang" % "scala-library" % "2.13.0-M1" % "test"但这不太可能奏效(如果有的话)。
https://stackoverflow.com/questions/52875910
复制相似问题