私が取り組んできた 1 つの Play Framework 2.x プロジェクト (Scala) から始めました。
これは、プロジェクトをいくつかのサブおよび「兄弟」プロジェクトに分割したいところまで来ました。具体的には、サービスの「SDK」のようなものと一緒にJavascriptプロジェクトも構築したいPlay REST APIサービスを書いています。
私はこれが SBT を使用して可能であると「考えています」-しかし、私は立ち往生しており、この分野ではドキュメントが薄いようです。
1 つの「メイン」プロジェクトの下に 3 つのプロジェクトを配置したいと考えています。このプロジェクトは、他の 3 つのコンテナであり、メイン ビルド ファイルが存在します。
これは次のようになります。
- 主要
- サービス (プレイ + スカラ)
- 共通ファイル (scala のみ)
- SDK(ジャバスクリプト)
- サービス (プレイ + スカラ)
私が持っている階層を構築するために「再生」を実行しようとすると、次のエラーのバリエーションが表示されます。
[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
私は正しい方向に進んでいて、誰かが構文に関して私を助けることができますか、それとも私は完全に間違った方法で問題にアプローチしていて、play はそのように使用できませんか? (sbt を直接使用しますか?)。