2014-01-09 60 views

回答

7

是的,這是可能的。在conf/routes中聲明您的開發路線,但在conf/prod.routes中聲明您的生產路線。然後,有一個生產的配置文件,conf/prod.conf,並把這個在它:

include "application.conf" 

application.router = "prod.Routes" 

現在,當你開始在生產中的應用程序,只需使用:

path/to/myapp/bin/myapp -Dconfig.resource=prod.conf -Dhttp.port=... 
+0

嗨,詹姆斯,感謝您的回答,運作良好。 – reen

+1

如果兩個路徑文件都定義了相同方法的路徑(例如'GET/controllers.News.foo()'),是否可以使用此方法?我得到一個'ReverseNews已經定義爲類ReverseNews'編譯錯誤... –

0

不開箱。但在這裏你有一個如何實現相同的功能兩種思路:

  • 寫周圍Assets.at瘦包裝,着眼於當前env和處理不同的看法,然後就打電話Assets.at與修改路徑
  • 覆蓋路由是如何在全球完成的,這是,如果你想用兩個PROD和DEV路線文件的路徑DSL留做你就必須弄清楚,讓他們編
一點很難做到
1

上述解決方案的工作很好,但手段你正在複製路線例如您的routesprod.routes文件中的非靜態資源。

如果你想保留一個單一的路線文件,你可以走johanandren建議的道路。我使用這種方法相當成功,並已發佈此方法的要點https://gist.github.com/drcharris/2e3518b212adfa1b6a7f

+0

PlayFramework 2.5 ConfigurableAssets的更新版本 https://gist.github.com/cessationoftime/b304c13f810f9d52e32fbf6c778af3d9 – cessationoftime

相關問題