0

私が取り組んできた 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 を直接使用しますか?)。

4

2 に答える 2