play框架2.5.6教程——使用play控制檯
啟動控制檯
play控制檯是基於sbt開發的控制檯,它允許你管理一個play應用的整個發展週期。
為了啟動Play控制檯,先改變你的專案路徑,然後執行Activator:
$ cd my-first-app
$ activator
獲得幫助
使用help命令來獲得有效命令的基本幫助。你也可以用特殊的命令來來使用這些幫助來得到那些命令的有關資訊:
[my-first-app] $ help run
在開發模式中執行伺服器
使用run命令在開發模式中執行目前的應用:
[my-first-app] $ run
在該模式中,伺服器將會使用過載功能來自動啟動,這意味著對於每個請求,Play將會檢查你的專案並重新編譯需要的資源。如果有需要的的話,專案將會自動重啟。
如果編譯中出現錯誤,你將會直接在瀏覽器中看到編譯結果。
如果要停止伺服器,按ctrl+D,然後你就會返回到Play控制檯提示。
編譯
在Play中,你可以不用執行伺服器就能編譯你的應用。只需使用compile命令:
[my-first-app] $ compile
執行測試
類似上面的命令,你不用執行伺服器也可以執行你的測試。只需要使用test命令:
[my-first-app] $ test
啟動互動式控制檯
輸入consoleScala的互動式控制檯,它將會允許你互動的測試程式碼:
[my-first-app] $ console
在Scala控制檯裡開始應用(比如:進入資料庫):
import play.api._
val env =Environment(new java.io.File("."),this.getClass.getClassLoader,Mode.Dev)
val context =ApplicationLoader.createContext(env)
val loader =ApplicationLoader(context)
val app = loader.load(context)Play.start(app)
除錯
啟動控制檯的時候,你可以要求Play開始一個JPDA除錯,然後你就可以使用java偵錯程式連線,使用activator-jvm-debug<port>命令來完成:
$ activator-jvm-debug 9999
當一個JPDA埠有效的時候,JVM將會在引導的時候記錄這一行:
Listeningfor transport dt_socket at address:9999
使用sbt特徵
Play控制檯只是一個普通的sbt控制檯,所以你可以使用sbt特徵,比如triggered execution.
比如說,使用~compile
[my-first-app] $ ~compile
這樣你每一次改變資原始檔,編譯就會啟動一次。
如果你使用~run:
[my-first-app] $ ~ run
當一個開發伺服器執行的時候,編譯才會被啟動。
你也可以像~test一樣,當你修改一個資原始檔的時候持續地測試專案:
[my-first-app] $ ~ test
直接使用play命令
你也可以直接執行命令而不進入控制檯,比如說,輸入activator run:
$ activator run
[info]Loading project definition from/Users/jroper/tmp/my-first-app/project
[info]Set current project to my-first-app (in build file:/Users/jroper/tmp/my-first-app/)---(Running the application from SBT,auto-reloading is enabled)---[info] play -Listeningfor HTTP on /0:0:0:0:0:0:0:0:9000(Server started,useCtrl+D to stop and go back to the console...)
這個應用將會直接開始,當你使用Ctrl+D來停止伺服器的時候,你將會返回到系統提示。當然,觸發執行在這裡也是有效的:
$ activator ~run