4

呃,

我在将 ReactiveMongo 集成到 Play 框架中时遇到了麻烦。我的 build.sbt

libraryDependencies ++= Seq(
  "org.reactivemongo" %% "play2-reactivemongo" % "0.9"
)

当我尝试使用 play run 命令运行服务器时,出现以下错误:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.reactivemongo#play2-reactivemongo_2.9.2;0.9: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: unresolved dependency: org.reactivemongo#play2-eactivemongo_2.9.2;0.9: not found

出错的想法很清楚;它正在寻找 2.9.2 Scala 版本的库。我不知道为什么 SBT 正在寻找 2.9,我已经安装了 2.10。我在几台机器上试过。

$ scalac -version
Scala compiler version 2.10.2 -- Copyright 2002-2013, LAMP/EPFL

$ play    
play! 2.1.3 (using Java 1.7.0_25 and Scala 2.10.0), http://www.playframework.org

有谁知道如何解决这个问题?

4

3 回答 3

4

您确定您没有使用 Play2.0 应用程序吗?即使播放命令行显示 2.1.3,您尝试启动的应用程序也可能是 2.0 的。请检查 project/plugins.sbt 文件中的一行

addSbtPlugin("play" % "sbt-plugin" % "2.1.3")

如果 play 尝试搜索 2.9.2 版本的 reactivemongo,则 play 正在使用 2.9.2 版本的 scala(因此看起来您使用的是 2.0 版本)

于 2013-09-18T14:00:31.517 回答
1
With single % instead of %% , dependency is not found ...i have changed my

scala 版本,现在一切正常,下面是我的 build.sbt 快照:

scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
  "org.reactivemongo" % "play2-reactivemongo_2.10" % "0.10.2"
)
于 2014-10-25T09:07:08.767 回答
1

Reactive Mongo 需要 Scala 2.10,而您正在尝试使用 2.9 来获得它。http://search.maven.org/#search%7Cga%7C1%7Creactivemongo

尝试(注意%代替%%):

"org.reactivemongo" % "play2-reactivemongo_2.10" % "0.9"
于 2013-09-18T13:38:49.673 回答