关于scala版本的库不同意

时间:2014-04-09 23:20:32

标签: scala sbt

我正在尝试使用scala-time和scala 2.10,并且发现它无法正常使用sbt。

给出类似

的内容
scalaVersion := "2.10.2"

libraryDependencies += "org.scalaj" %% "scalaj-time" % "0.7"

sbt很乐意尝试解决http://repo1.maven.org/maven2/org/scalaj/scalaj-time_2.10/0.7/scalaj-time_2.10-0.7.pom

不幸的是,scalaj-time已经发布了完整的scala版本,可以在http://central.maven.org/maven2/org/scalaj/看到。

可以用

解决
 libraryDependencies += "org.scalaj" % "scalaj-time_2.10.2" % "0.7"

但我想知道这是否是sbt行为的改变,scala-time构建中的错误,或者是否有办法配置sbt以传递3部分版本而不是2部分。

1 个答案:

答案 0 :(得分:3)

正如Seth所说,jorgeortiz85/scala-time可能是使用sbt发布的,该sbt早于sbt 0.12中引入的二进制交叉版本控制约定。你可以这样做:

libraryDependencies += "org.scalaj" % "scalaj-time_2.10.2" % "0.7"

libraryDependencies += "org.scalaj" % "scalaj-time" % "0.7" cross CrossVersion.full

但是当Scala 2.10.4已经出局时,你将不得不使用2.10.2。

有一个名为nscala-time/nscala-time的类似Joda时间包装器似乎更积极地维护。上次更新3天前已经支持Scala 2.11.0,因此也可以选择。

libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "1.0.0"