2012-03-31 10 views
6

私はプレイフレームワークを使用してアプリケーションを実行しようとする新人デベロッパーです。私はチュートリアルに従い、新しいプロジェクトを正常に作成することができます。プレイフレームワークが既存のプロジェクトを実行できません

私は私が上で動作し、再生コマンドを入力することになってるのプロジェクトを持っているディレクトリに移動したときにしかし、私は次のエラーを取得する:

[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: clean) 
[error] play 

私はフレームワークとドンについてはほとんど知識を持っています私は間違いを修正する場所を知りません。助言がありますか ?

+0

Play Frameworkバージョン2.0または1.2.xを使用していますか? – mguymon

答えて

0

問題は再生のバージョンの違いでした。私が取り組んでいたプロジェクトは、バージョン2.0をインストールしたプレイ1.2で開発されました。

ちなみに、バージョン1.2で開発されたプロジェクトでは2.0で作業することができますが、それ以降の段階でも問題があるので、そうしないことを強くお勧めします。

1

あなたの環境(OS、プレイバージョンなど)に関する詳細が必要ですが、再生が有効なコマンドではないエラーが発生した場合、私の最初の行動はplay.shのパスをチェックすることです私は非ウィンドウを使用していると仮定します)があなたのシステムパスに含まれていますか?

3

あなたは再生コマンドをこのように実行する必要があります。

./play cmd [app_path] [--options] 

プロジェクトを実行している場合には、それは私がプロジェクトフォルダ内のすべてのディレクトリを削除し、それが動作

./play run /path/to/projectname 
+0

これは私にとって助けになりました。チュートリアルがhttp://www.playframework.org/documentation/2.0.2/NewApplicationを指定する方法ではうまくいかない理由はわかりません – homaxto

1

です。ファイルを削除しないでください(build.properties、Build.scala、plugins.sbt)

2

私はサブプロジェクトのコンテキストでこの問題に直面しています。

これは私のために働いたものです。


コード:

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に変更した場合、それが機能します。この場合 は、playWebAppにアクティブなプロジェクトを設定します。(webAppProj変数名はアルファベット順でzhelloWorldProjの前に来るので)

私は、コマンドproject HelloWorldを与えることによってHelloWorldにアクティブなプロジェクトを変更することができます。

これは、リフレクションを使用してsbtがProjectオブジェクトを見つける方法と関係があると思います。

0

あなたが使用している言語に応じて、次のいずれかがあなたのbuild.sbtファイルであることを確認しますが:
play.Project.playJavaSettings
play.Project.playScalaSettings

0

私も同じです問題!私の/ user/xxx/projectフォルダに1.xバージョンの古いプロジェクトがありました。そのフォルダを削除すると私にとってうまくいった!

関連する問題