【发布时间】:2014-06-05 00:12:20
【问题描述】:
我在这里使用 sbt .13。
到目前为止我有这个:
import sbt._
import Keys._
import play.Project._
object ApplicationBuild extends Build {
val appVersion = "1.0"
resolvers += "local maven" at "/Users/blankman/.m2/repository/"
val commonDependencies = Seq()
val modelDependencies = Seq(
"com.typesafe.slick" %% "slick" % "2.0.1",
"org.slf4j" % "slf4j-nop" % "1.6.4"
)
val serviceDependencies = Seq(
"com.typesafe.slick" %% "slick" % "2.0.1",
"org.slf4j" % "slf4j-nop" % "1.6.4"
)
val webDependencies = Seq(
//"org.apache.tomcat" % "tomcat-jdbc" % "8.0.3",
"mysql" % "mysql-connector-java" % "5.1.30",
"com.typesafe.slick" %% "slick" % "2.0.1"
)
lazy val common = Project(
id = "app-common",
base = file("app-common"),
dependencies = commonDependencies
)
lazy val models = Project(
id = "app-models",
base = file("app-models"),
settings(modelDependencies: _*)
)
).dependsOn(common)
lazy val services = Project(
id = "app-services",
base = file("app-services"),
settings = Seq(
libraryDependencies ++= serviceDependencies
)
).dependsOn(models, common)
lazy val web = play.Project("app-web", appVersion, webDependencies,
path = file("app-web"))
.settings(playScalaSettings: _*)
.dependsOn(services)
}
这不起作用。例如,如果我进入:
项目应用模型
并尝试编译,它说编译无效或其他什么。
我真的很困惑如何建立一个项目。正确的方法是什么?
看看这张幻灯片 #10 http://jsuereth.com/scala/2013/06/11/effective-sbt.html 它说我可以做到:
lazy val web = (
Project("app-models", file("app-models"))
settings(
libraryDependencies += modelDependencies
)
)
但是当我这样做时,我也会得到一个错误。
我在 sbt 内部基本上有几个项目:
common
models
services
web (which is play)
- 模型取决于公共资源
- 服务取决于公共资源 + 模型
- 网络依赖于服务
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: scala playframework sbt