我正在尝试使用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部分。
答案 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"