私はサブプロジェクトのコンテキストでこの問題に直面しています。
これは私のために働いたものです。
コード:
import sbt._
import sbt.Keys._
object ApplicationBuild extends Build {
val helloWorldProj = Project(id = "HelloWorld", base = file("helloworld"))
val appName = "WebApp"
val appVersion = "1.0"
val appDependencies = Seq()
val webAppProj = PlayProject(appName, appVersion, appDependencies, path = file("webapp"), mainLang = PlayProject.SCALA)
.dependsOn(helloWorldProj)
.aggregate(helloWorldProj)
}
play
コマンドを実行する上で、私は次のエラーを取得する:
エラー:
[info] Set current project to HelloWorld (in build file:/D:/EclipseProjects/HelloWorldPlayMultiProject/)
[error] Not a valid command: play (similar: last, alias, loadp)
[error] Not a valid project ID: play
[error] Not a valid configuration: play
[error] Not a valid key: play (similar: play-hash, play-dist, play-conf)
[error] play
[error] ^
解決策:
helloWorldProj
の名前をzhelloWorldProj
に変更した場合、それが機能します。この場合 は、play
WebApp
にアクティブなプロジェクトを設定します。(webAppProj
変数名はアルファベット順でzhelloWorldProj
の前に来るので)
私は、コマンドproject HelloWorld
を与えることによってHelloWorld
にアクティブなプロジェクトを変更することができます。
これは、リフレクションを使用してsbt
がProjectオブジェクトを見つける方法と関係があると思います。
Play Frameworkバージョン2.0または1.2.xを使用していますか? – mguymon