2013-02-11 54 views
1

我在Play 2.1中創建項目並計劃使用play dist作爲自包含的包分發項目。但是,我需要一些可供服務器訪問的額外腳本,並可以使用項目的庫(主要是模型)。我需要的一個腳本示例是一個將作爲cron作業從外部設備收集數據的任務。Play 2.x:如何使用可分發包部署腳本

在Rails或任何其他Web框架我習慣,我會創建一個腳本目錄,並把這樣的東西在那裏。不過,我對Java和這個框架還是比較陌生的,所以我不知道約定是什麼(如果有的話),並且要求不分發未編譯的源代碼。

透過Play的文檔creating a standalone version,我看到最終結果是一個包含lib目錄和啓動腳本的目錄。理想情況下,解決我的問題將有發揮產生我選擇旁邊的啓動腳本的另一個腳本:

my-application 
└ lib 
    └ *.jar 
└ start 
└ new_script 

任何建議或選項,我應該考慮?

回答

0

我在「How do I add docs other than README in a Play 2.0 Scala binary distribution?」問了一個類似的問題。它似乎沒有像你想的那樣開箱即用。到目前爲止,我已經通過編寫一個解壓zip的bash腳本來解決這個問題,並添加了我需要的東西,然後將其作爲tar.gz文件備份。

  • 首先,啓動腳本沒有打開可執行位。當我把它交給某人進行測試時,這很煩人。
  • 它不包括蝙蝠在Windows上運行,所以我的工作對
  • 我非常需要看到在未來

(我會盡量壓縮包括像你的腳本,但無法從命令行弄清楚。)

我會提供補丁遊戲,但他們似乎在添加新功能和維護時很快移動。我建立了我的應用程序2.0和2.0.4甚至不工作。不知道我如何修補版本2.0並升級到使用我自己的補丁。

+0

感謝您的評論,格雷格。到目前爲止,我已經寫了一個簡短的bash腳本來爲Windows編寫start.bat文件,並解析了unix啓動腳本上的執行位。我在考慮在使用類路徑中的lib/* dir的可分發包中打包另一個shell包裝程序應該能夠執行任意類。 – 2013-02-19 13:13:15