2013-01-16 30 views
5

我创建了一个使用Scala作为主要语言的play 2项目,因此需要一个在Scala中实现的休息客户端。SBT - 无法精确播放2应用程序的项目依赖项

不幸的是,我不能轻易使用已知的Java Jersey-Client。

我在github上发现了这个可能很大API:sjersey-client

使用SBT的依赖管理工具,我试图表明其依赖玩应用sjersey:

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精密玩!项目,更新和编译都很好。

我被封锁了,可能是什么问题?

+0

如果你改变从2.10.0斯卡拉版本2.9.2会发生什么?另外,什么是SBT版本? –

+0

@Daniel C. Sobral我刚刚尝试使用2.9.2 =>同样的错误。我使用的SBT版本是:0.12.1。非常模糊.. – Mik378

+0

@Daniel C. Sobral我已经更新了stacktrace,包括它的顶部 – Mik378

回答

1

您也可以尝试这个,如果你不想更新sjersey阶版本:

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) 

) 

}