2013-02-11 20 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