我已经开始使用我一直在研究的单个Play Framework 2.x项目(Scala)。使用子项目播放框架项目,如何使SBT正常工作
这现在已经达到了我想将项目分解成多个子项目和'sibiling'项目的程度。具体来说 - 我正在编写一个Play REST API服务,我希望还可以为这个服务创建一个Javascript项目,就像一个'SDK'一样。
我'认为'这是可能的使用SBT - 但我卡住了,在这方面的文件似乎很薄。
我想在一个“主”项目下有三个项目,这个项目只不过是其他三个项目的容器,而主构建文件就是这样。
这将是这样的:
- 主要
- 服务(播放+斯卡拉)
- 共同文件(斯卡拉只)
- SDK(JavaScript的)
- 服务(播放+斯卡拉)
当我尝试和运行“播放”建立层次结构我有 - 我得到以下错误变化:
[error] Not a valid command: play (similar: apply, last, alias)
[error] Not a valid project ID: play
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: play (similar: playConf, play-conf, playReload)
[error] play
[error] ^
当我有一个Build.scala(在“主”项目)是这样的:
object ApplicationBuild extends Build {
val appName = "my service"
val appVersion = "1.0-SNAPSHOT"
// tell the couchbase infrastructure to use the built in logger - which will get redirected to our main logger
System.setProperty("net.spy.log.LoggerImpl", "net.spy.memcached.compat.log.SunLogger")
// project dependencies
val appDependencies = Seq(
...
)
val common = Project("common", file("common"))
val service = play.Project(appName, appVersion, appDependencies, path = file("service")).settings(
scalacOptions ++= Seq("-feature") // turn on normal warnings and feature warnings with scalac
).dependsOn(common)
val sdk = Project("sdk", file("sdk"))
val base = Project("base", file("."))
.dependsOn(service)
.dependsOn(sdk)
.dependsOn(common)
}
文件夹层次结构,我得到的是:
\
\service
\common
\sdk
\project
\target
build.sbt
我在正确的轨道上,并有人可以帮助我的语法明智的,还是我以完全错误的方式接近问题,玩不能这样使用? (直接使用sbt?)。