Warbler:增强Java EE WAR文件的Rails应用打包工具

作为JRuby团队成员的Nick Sieger,致力于将最新的JRuby 1.0.1版与GoldSpike 1.3相整合。使用GoldSpike可以将Rails应用发布到JEE服务器中,它是JRuby extras的一个组成部分。JRuby extras是一组卫星项目,其目标是要填充JRuby与Ruby标准库之间的功能差距。因为不满意GoldSpike对应用进行打包的方式,Nick决定重写GoldSpike打包插件,由此Warbler应运而生。

对于GoldSpike的问题,Nick说道:

[……]我个人觉得它采用了一种错误的方式来把Rails应用打包成.war文件。它将Rails应用的目录结构放置到.war文件的根结构处,这样任何 Web服务器或Java应用服务器都会错误地将你的代码视为静态内容。Java中.war文件规范指定了名为 WEB-INF的特定目录,指明我们应该将相关应用放置在这个目录下隐藏起来,那为什么不用这个目录呢?……接下来,突然GoldSpike将我的整个Rails应用目录做了打包操作,甚至包括. svn目录和所有的文件。所以我决定一劳永逸地解决这个问题。

Warbler以gem形式发布,并与JRuby和GoldSpike servlet绑定在一起,这样一来,在Java应用服务器内部就可以完成对你的Rails应用请求的分发,它将WARBLER_HOME/lib/*.jar中的全部jar文件集合到你的应用中。而且它不会像GoldSpike那样去下载外部依赖模块。

Warbler拥有简单的命令行操作界面以及灵活的配置方式,这使得在JEE服务器上部署Rails应用到JRuby中变得更加容易。相比GoldSpike打包插件,Warbler的代码量减少了50%。

查看英文原文: Warbler: Rails Packaging for Java EE WAR files enhancement 译者简介:郑柯,目前任职《程序员》杂志社高级编辑,有志于在中国的软件开发业界推广Agile的理念和方法论,笃信以人为本,关注Ruby,关注敏捷,关注人。参与InfoQ中文站内容建设,请邮件至 china-editorial[at]infoq.com。

你可能感兴趣的:(Warbler:增强Java EE WAR文件的Rails应用打包工具)