2012-03-31 5 views
12

SBTを使用して、コアJavaモジュールおよび他のJavaクライアントと一緒にPlay 2.0 Webアプリケーションを開発しようとしています。 Playアプリケーションがまだ正しく構築されているように設定することは可能ですか?SBT非ルートモジュールとしてのフレームワーク

私は小さな一回限りのPlay 2.0アプリを開発しましたが、私はSBTを直接操作する経験はありません。これまで私は次のディレクトリ構造とproject/Build.scalaファイルを用意しました。

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

sbt clean packageを実行

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) 

} 

commonclient1、およびclient2モジュールに対して適切に動作するようですが、webappモジュールは、私はwebapp/target/startを実行できるポイントにパッケージされていません。

これを適切な出力で1つのビルドとして実現するにはどうすればよいですか?

+0

賞金を割り当てるか、それの半分が失われます:) –

+0

それは私をさせません。私はあなた自身の質問に答えるときに他の誰かがそれをしなければならないと信じています。 –

答えて

7

ここでの問題は、packageの目標を単に実行するだけでは、開始スクリプトを生成するには不十分であるということです。それは完全にパッケージ化されたWebアプリケーションをアセンブルしますが、それを開始する手段は一切ありません。

私の目標は、このスタートスクリプトを生成するプラグインを便利に提供するHerokuへのデプロイメントでした。プラグインのリポジトリには、デフォルトでPlay 2.0 Webアプリケーションが追加されていますので、ビルドに使用するコマンドをsbt clean compile stageに変更するだけです。webapp/target/フォルダにstartスクリプトがあります。

関連する問題