Scala SBT-无法精确播放2应用程序';s项目依赖关系
我正在使用Scala作为主语言创建一个Play2项目,因此需要一个用Scala实现的rest客户机 不幸的是,我不能轻松地使用已知的JavaJersey客户端 我在github上发现了一个可能很棒的api: 使用SBT作为依赖关系管理工具,我尝试指示播放应用程序对sjersey的依赖关系:Scala SBT-无法精确播放2应用程序';s项目依赖关系,scala,jersey,playframework-2.0,sbt,Scala,Jersey,Playframework 2.0,Sbt,我正在使用Scala作为主语言创建一个Play2项目,因此需要一个用Scala实现的rest客户机 不幸的是,我不能轻松地使用已知的JavaJersey客户端 我在github上发现了一个可能很棒的api: 使用SBT作为依赖关系管理工具,我尝试指示播放应用程序对sjersey的依赖关系: object ApplicationBuild extends Build { val appName = "myWebapp" val appVersion = "1.0-SNAPSHOT"
object ApplicationBuild extends Build {
val appName = "myWebapp"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
jdbc,
anorm
)
lazy val sjersey = RootProject(uri("git://github.com/FaKod/sjersey-client.git"))
val main = play.Project(appName, appVersion, appDependencies).dependsOn(sjersey).settings(
scalaVersion := "2.10.0"
)
}
然后我运行命令:play reload update
但更新失败:
[warn] Binary version (2.10) for dependency org.scala-lang#scala-library;2.10.0
[warn] in myWebapp#myWebapp_2.9.2;1.0-SNAPSHOT differs from Scala binary version in project (2.9.2).
[warn] module not found: play#play_2.9.2;2.1-RC1
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: play#play_2.9.2;2.1-RC1: not found
[warn] :: play#play-jdbc_2.9.2;2.1-RC1: not found
[warn] :: play#anorm_2.9.2;2.1-RC1: not found
[warn] :: play#play-test_2.9.2;2.1-RC1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[error] (mywebapp/*:update) sbt.ResolveException: unresolved dependency: play#play_2.9.2;2.1-RC1: not found
[error] unresolved dependency: play#play-jdbc_2.9.2;2.1-RC1: not found
[error] unresolved dependency: play#anorm_2.9.2;2.1-RC1: not found
[error] unresolved dependency: play#play-test_2.9.2;2.1-RC1: not found
[error] Total time: 4 s, completed 16 janv. 2013 19:36:37
但是当我移除dependsOn
精度时,就可以玩了!项目、更新和编译都很好
我被封锁了,有什么问题吗 如果不想更新sjersey scala版本,也可以尝试以下方法:
object ApplicationBuild extends Build {
val appName = "myWebapp"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
jdbc,
anorm
)
val moreResolvers = resolvers ++= Seq(
"fakod-releases" at "https://raw.github.com/FaKod/fakod-mvn-repo/master/releases",
"fakod-snapshots" at "https://raw.github.com/FaKod/fakod-mvn-repo/master/snapshots")
val main = play.Project(appName, appVersion, appDependencies).settings(
moreResolvers,
libraryDependencies ++= Seq(
"org.scala-libs" % "sjersey-client" % "0.2.0" intransitive)
)
}
如果将Scala版本从2.10.0更改为2.9.2,会发生什么情况?还有,SBT版本是什么?@Daniel C.Sobral我刚刚尝试了2.9.2=>同样的错误。我使用的SBT版本是:0.12.1。非常模糊。@Daniel C.Sobral我已经更新了stacktrace,包括它的顶部。它是否有与文件sbt.boot.properties的链接。实际上,sbt在origin.Fork中使用了2.9.2,并将sjersey-client.git中的scala版本更新为2.10。回购协议中没有编译为scala 2.9.x的play 2.1。