2

如何在使用 2.10.1 构建的项目中针对 2.9.2 使用库构建?

特别是我正在尝试使用salat并获得以下异常

sbt.ResolveException: unresolved dependency: com.novus#salat_2.10;1.9.2-SNAPSHOT: not found
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:214)
    at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:122)
    at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:121)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:114)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:114)
    at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:102)
    at sbt.IvySbt.liftedTree1$1(Ivy.scala:49)
    at sbt.IvySbt.action$1(Ivy.scala:49)
    at sbt.IvySbt$$anon$3.call(Ivy.scala:58)
4

5 回答 5

2

你不能。Scala 的主要版本是二进制不兼容的。

于 2013-05-16T07:37:38.310 回答
1

你可以。只需使用 OSGi。Scala 2.9.x 与一个捆绑包一起使用,Scala 2.10.x 与另一个捆绑包一起使用。在单个执行环境中处理多个不兼容的二进制依赖项是创建 OSGi 的情况之一。Scala jar 已经打包成包。一切准备就绪。

于 2013-05-29T10:15:43.883 回答
0

您必须针对 scala 2.10 重新编译该库,因为 scala 版本与每个主要版本都是二进制不兼容的。从 2.9 到 2.10。

于 2013-05-16T13:52:53.113 回答
0

您似乎正在使用针对 2.10 构建的库版本。不过,您正在使用的工件似乎不正确。在您build.sbt尝试更改"com.novus" %% "salat" % "1.9.2-SNAPSHOT""com.novus" %% "salat-core" % "1.9.2-SNAPSHOT". 这是 2.10 可用的工件的完整列表

于 2013-05-16T07:46:14.477 回答
0

这对我有用http://pastebin.com/yy6tGYDE

  1. 添加"Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
  2. 消除"org.mongodb" %% "casbah" % "2.6.0"可能的冲突,salat 1.9.2-SNAPSHOT 使用 2.5.0
  3. 更改"com.novus" % "salat-core" % "1.9.2-SNAPSHOT""com.novus" %% "salat" % "1.9.2-SNAPSHOT"
于 2013-05-16T09:36:04.093 回答