我已經開始使用我一直在研究的單個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?)。