Play Framework как некорневой модуль SBT

Я пытаюсь разработать приложение Play 2.0 вместе с основным модулем Java и другими клиентами Java, использующими SBT. Можно ли настроить это таким образом, чтобы приложение Play по-прежнему создавалось правильно?

Раньше я разрабатывал небольшое одноразовое приложение Play 2.0, но у меня нет опыта работы непосредственно с SBT. На данный момент я придумал следующую структуру каталогов и файл project/Build.scala.

root/
 |---common/
 |
 |---client1/
 |---client2/
 |
 |---webapp/
 |    |---app/
 |    |---conf/
 |    |---public/
 |
 |---project/

.

object ApplicationBuild extends Build {

    val appVersion      = "1.0-SNAPSHOT"

    val appDependencies = Seq(
      // Add your project dependencies here,
    )

    val common  = Project("hi-common", file("common"))

    val client1 = Project("hi-client1", file("client1")).dependsOn(common)

    val client2 = Project("hi-client2", file("client2")).dependsOn(common)

    val webapp = PlayProject("hi-webapp", appVersion, appDependencies, path = file("webapp"),  mainLang = JAVA).settings(
        // Add your own project settings here      
    ).dependsOn(common)

    val root = Project("hi", file(".")).aggregate(client1, client2, webapp)

}

Запуск sbt clean package, кажется, работает надлежащим образом для модулей common, client1и client2, но webapp Модуль не упакован до такой степени, что я могу запустить webapp/target/start.

Что я могу сделать, чтобы получить это как единую сборку с правильным выводом?

12
задан Jake Wharton 4 April 2012 в 03:19
поделиться