解析器不与依赖的sbt项目共享?

时间:2013-06-18 19:59:15

标签: scala sbt multi-project xsbt-web-plugin

在这个似乎涉及xsbt-web-plugin的奇怪案例中,我收到了错误

unresolved dependency: play#play-json_2.10;2.2-SNAPSHOT: not found

加载server子项目时。依赖关系和正确的解析程序在library子项目中指定,server依赖于该子项目。如果我不在服务器中包含webSettings,它就不会爆炸,但我试图在那里建立一个.war。

[根] /project/Build.scala

import sbt._
import Keys._

object MyBuild extends Build {
  lazy val root = Project("root", base = file(".")).aggregate(library,server)

  lazy val library = Project(id = "library", base = file("library"))

  lazy val server = Project(id = "server", base = file("server")).dependsOn(library)
}

[根] /project/plugins.sbt

// p.s. why do I need this here instead of [root]/server/project/plugins.sbt?
addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "0.3.0")

[根] /library/build.sbt

scalaVersion := "2.10.1"

libraryDependencies += "play" %% "play-json" % "2.2-SNAPSHOT"

resolvers += "Mandubian repository snapshots" at "https://github.com/mandubian/mandubian-mvn/raw/master/snapshots/"

[根] /server/build.sbt

scalaVersion := "2.10.1"

seq(webSettings :_*)

1 个答案:

答案 0 :(得分:9)

您可以使用resolvers in ThisBuild += ...使解析器可用于构建的任何子项目。 (这将进入[root]/build.sbt。)