写点什么

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

  • 2007-09-17
  • 本文字数:768 字

    阅读完需:约 3 分钟

作为 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

2007-09-17 19:301449
用户头像

发布了 479 篇内容, 共 178.1 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

影响分析:RubyGems未授权访问漏洞(CVE-2022-29176)

龙智—DevSecOps解决方案

rubygems 漏洞

Klocwork部署的安全最佳实践

龙智—DevSecOps解决方案

klocwork 静态代码分析 SAST工具

带你认识数仓的“规格变更”

华为云开发者联盟

数据库 后端 集群 数仓

Spring AOP

武师叔

7月月更

卷是真的卷,“粗心马虎”也是真的要扣分

图灵教育

数学 小学 初中

CloudBees CI使用Velero进行灾备(DR)概念验证

龙智—DevSecOps解决方案

ci 停机时间 灾难恢复计划

企业钟情于混合App开发,小程序容器技术能让效率提升100%

Speedoooo

微信小程序 APP开发 跨端开发 小程序容器

后端实战教程:如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)

蒋川

node.js MySQL 后端开发 Express

【Java】中的String、StringBuffer和StringBuilder的区别

工程师日月

Java’ 7月月更

跟着官方文档学 Python 之:基础语法

甜甜的白桃

Python 数据类型 7月月更

HTTP的前世今生

技术小生

HTTP 7月月更

基础设施 NFTScan 正式发布 Solana 网络 NFT 浏览器

NFT Research

区块链 NFT

Flutter 构建三维空间动画效果

岛上码农

flutter ios 前端 安卓开发 7月月更

万字多图,搞懂 Nginx 高性能网络工作原理!

C++后台开发

nginx 中间件 后端开发 高性能网络 C++开发

IPA应用探索:基于客户意图交互让业务受理更有“温度”

鲸品堂

运营商

Spring Security用户定义

急需上岸的小谢

7月月更

一个月后,我们又从 MySQL 双主切换成了主 - 从!

悟空聊架构

MySQL 悟空聊架构 征文活动 7月月更

漏洞挖掘之文件漏洞后利用姿势【网络安全】

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

企业知识管理过程中常见的误区与解决方法

Baklib

AIRIOT物联网平台助力油库自动化升级 实现业务场景全覆盖

AIRIOT

低代码 物联网 低代码,项目开发

Hive表类型

五分钟学大数据

hive 7月月更

全面掌控!打造智慧城市建设的"领导驾驶舱"

华为云开发者联盟

云计算 后端 智慧城市 智慧屏

关于FAQ页面的一些制作技巧

Baklib

知乎基于 Apache Doris 的 DMP 平台架构建设实践|万字长文详解

SelectDB

Apache 数据库 数据仓库 广告系统 Doris

任务拆分中的「敏捷刺客」,你中招了吗?

LigaAI

团队管理 敏捷开发 需求管理 垂直拆分 需求梳理

体验SRCNN和FSRCNN两种图像超分网络应用

华为云开发者联盟

人工智能 图像 图像超分

P4Python:合并实践指南之如何脚本化integrate流程

龙智—DevSecOps解决方案

文件合并 P4 Perforce Helix Core

刨析Scoped原理

猪痞恶霸

CSS 7月月更

DevOps工具链:开放、自由地选择最适合团队和业务需要的工具

龙智—DevSecOps解决方案

DevOps DevOps工具 DevOps工具链

React + Node.js 全栈实战教程 - 手把手教你搭建「文件上传」管理后台

蒋川

node.js react.js mongodb Express axios

Warbler:增强Java EE WAR文件的Rails应用打包工具_Ruby_Sebastien Auvray_InfoQ精选文章