我是 JVM 开发的新手(我正在使用 Scala 和 SBT)并且在解决依赖关系时遇到了麻烦。昨天,我在解决org.restlet.2.1.1
依赖关系时遇到了麻烦,今天,我在解决以下问题时遇到了麻烦:
[error] (*:update) sbt.ResolveException: unresolved dependency: com.mongodb.casbah#casbah_2.9.2;2.1.5-1: not found
[error] unresolved dependency: org.scalatra#scalatra_2.9.2;2.3.0: not found
[error] unresolved dependency: org.scalatra#scalatra-akka2_2.9.2;2.3.0: not found
[error] unresolved dependency: org.scalatra#scalatra-specs2_2.9.2;2.3.0: not found
我正在使用giter8
来自 github 的 scalatra-mongodb 项目模板:单击我。由于该项目有点旧,因此我试图获取不再存在或兼容的过时版本是有道理的。在这种情况下怎么办?我尝试摆弄build.sbt
文件中的版本号,但这不起作用(而且似乎更糟!)。
以下是我的build.sbt
文件的内容:
scalaVersion := "2.9.2"
mainClass := Some("JettyLauncher")
seq(webSettings :_*)
port in container.Configuration := 8080
seq(assemblySettings: _*)
libraryDependencies ++= Seq(
"com.mongodb.casbah" %% "casbah" % "2.8.1-1",
"org.scalatra" %% "scalatra" % "2.2.0",
"org.scalatra" %% "scalatra-akka2" % "2.2.0",
"org.scalatra" %% "scalatra-specs2" % "2.2.0" % "test",
"org.mortbay.jetty" % "servlet-api" % "3.0.20100224" % "provided",
"org.eclipse.jetty" % "jetty-server" % "8.0.0.M3" % "container, compile",
"org.eclipse.jetty" % "jetty-util" % "8.0.0.M3" % "container, compile",
"org.eclipse.jetty" % "jetty-webapp" % "8.0.0.M3" % "container, compile"
)
resolvers ++= Seq(
"Sonatype OSS" at "http://oss.sonatype.org/content/repositories/releases/",
"Sonatype OSS Snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/",
"Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/",
"Akka Repo" at "http://akka.io/repository/",
"Web plugin repo" at "http://siasia.github.com/maven2"
)
以下是我的plugins.sbt
文件:
addSbtPlugin("com.earldouglas" %% "xsbt-web-plugin" % "0.9.0")
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.2")
请注意,当我第一次生成模板时,我收到了第一个插件缺少的依赖项。幸运的是,这个插件的 github 页面提供了更新的说明,我能够克服这种依赖关系。
无论如何,我需要哪些版本的依赖项才能让一切正常工作?一般来说,解决这些依赖关系的策略是什么(现在我不知道该怎么做(除了访问 github 页面并摆弄版本号)?
感谢所有的帮助!