问题描述
我正在使用Scala作为主要语言创建一个play 2项目,因此需要在Scala中实现的其他客户端.
I'm creating a play 2 project using Scala as main language and so need a rest client implemented in Scala.
不幸的是,我无法轻松使用已知的Java Jersey-Client.
Unfortunately, I can't easily use the known Java Jersey-Client.
我在github上发现了这个可能很棒的api: sjersey-client
I found on github this probably great api: sjersey-client
使用SBT作为依赖项管理工具,我尝试指出要播放应用程序对sjersey的依赖项:
Using SBT as dependency management tool, I try to indicate to play app its dependency to 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
但更新失败:
Then I run the command: play reload update
but update failed:
[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
精度时!项目,更新和编译都可以.
But when I remove the dependsOn
precision to Play! project, update and compilation are fine.
我被阻止了,可能是什么问题?
I'm blocked, what could be the issue?
推荐答案
如果您不想更新sjersey scala版本,也可以尝试以下方法:
You can also try this if you don't want update sjersey scala version :
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)
)
}
这篇关于SBT-无法精确播放2应用程序的项目依赖项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!