播放2.x:如何使用可分发包部署脚本

时间:2013-02-11 05:26:01

标签: playframework-2.0 sbt

我正在Play 2.1中创建一个项目,并计划使用play dist将项目作为独立的包分发。但是,我需要一些服务器可以访问的额外脚本,并且可以使用项目的库(大多数是模型)。我需要的脚本示例是一个将作为cron作业运行的任务,用于从外部设备收集数据。

在Rails或我习惯的任何其他Web框架中,我会创建一个脚本目录并在其中放置这样的内容。但是,我对Java和这个框架相当新,所以我不知道约定是什么,如果有的话,并且有一个很难要求不分发未编译的源。

creating a standalone version上查看Play的文档,我看到最终结果是一个包含lib目录和启动脚本的目录。理想情况下,解决我的问题的方法是让play在我的启动脚本旁边生成另一个我选择的脚本:

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

我应该研究哪些建议或选项?

1 个答案:

答案 0 :(得分:0)

我在“How do I add docs other than README in a Play 2.0 Scala binary distribution?”问了一个类似的问题。似乎没有像你想的那样开箱即用。到目前为止,我已经通过编写一个解压缩zip包的bash脚本,添加了我需要的内容,然后将其作为tar.gz文件捆绑回来来克服这个问题。

  • 首先,启动脚本没有打开可执行位。当我把它交给某人进行测试时,这很烦人。
  • 它不包括在Windows上运行的蝙蝠,所以我正在研究
  • 我非常希望将来能够像你一样包含脚本

(我会尝试使用zip,但无法从命令行中找到它。)

我会提供补丁播放,但他们似乎在添加新功能与维护时迅速采取行动。我用2.0构建我的应用程序,它甚至不能用于2.0.4。不知道如何修补2.0版并升级以使用我自己的补丁。