Я использую 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)
- модель зависит от общего
- услуги зависят от общих + моделей
- Интернет зависит от услуг
Может кто-нибудь помочь мне заставить это работать?