是否可以在Play Framework 2中定義命令行任務? 我問的原因是因爲我需要一個可執行文件,它將從我的Play項目生成XML到標準輸出。有一個外部應用程序 - 我不控制 - 它將執行它並管理它的輸出以處理XML。現在,爲了完成工作,我只是在一個動作中編寫XML並使用「wget -qO- http:// ...」獲取它,但這遠非理想。另外我也需要能夠將其部署到生產環境中。Play Framework 2命令行任務
我大量搜索解決方案,但空手而來。
是否可以在Play Framework 2中定義命令行任務? 我問的原因是因爲我需要一個可執行文件,它將從我的Play項目生成XML到標準輸出。有一個外部應用程序 - 我不控制 - 它將執行它並管理它的輸出以處理XML。現在,爲了完成工作,我只是在一個動作中編寫XML並使用「wget -qO- http:// ...」獲取它,但這遠非理想。另外我也需要能夠將其部署到生產環境中。Play Framework 2命令行任務
我大量搜索解決方案,但空手而來。
我不認爲從播放項目製作可執行的jar是理想的。無論您需要創建XML的邏輯都應放入其自己的庫中,然後才能重用。
你的遊戲應用程序可以依賴這個庫,並且你也可以創建一個新的項目,它允許你創建一個可執行的jar(這也取決於庫)。
如:
xml-generator-lib
play-app => dependsOn xml-generator-lib
my-executable-jar => dependsOn xml-generator-lib
這就是說,這裏是一個簡單的遊戲應用程序,從中可以創建一個可執行的JAR:https://github.com/edeustace/executable-play-app。
它使用sbt-assembly插件收集所有的罐子成一個。它也覆蓋了'main'類來指向一個呈現其中一個模板的類。它也需要管理組合jar中的重疊文件。
我懷疑部分玩法框架可能無法在此上下文中運行(沒有服務器等)。
因此,外部應用程序是一個命令行工具,你將開始一次,只要你的遊戲應用程序還活着,它就會運行? – johanandren
不,不是。更清楚的是關於[Sphinx](http://sphinxsearch.com/)索引器。在它的配置中,您可以將索引器指向一個爲stdout生成XML的可執行文件。當您運行索引器時,它會啓動該可執行文件和管道以輸出索引XML。 – dcb
在這種特殊情況下,Play命令行任務只需通過Mongo集合,執行一些處理並將XML寫入stdout。這就是我需要做的,但我無法找到任何方法來實現這一點。 – dcb