2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:301488
用户头像

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

关注

评论

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

毕业季,说一说自己从学生初入职场的感受

闫同学

10月月更

一文搞懂MySQL中一条SQL语句是如何执行的

闫同学

10月月更

还是 “月饼” 后续,玩转炫彩 “月饼” 之 问题说明

矜辰所致

开发板 ESP32-C3 10月月更

阿里微服务架构到底多牛逼:深入解析Apache Dubbo与实战

Geek_0c76c3

Java 数据库 开源 程序员 架构

从0开始,用Go语言搭建一个简单的后端业务系统

闫同学

10月月更

清华毕业大牛带你深入解析JVM,附五大实战技术文档,总计1024M

Geek_0c76c3

Java 数据库 开源 程序员 开发

高并发系统简单玩!Alibaba全新出品亿级并发设计速成笔记真香

Geek_0c76c3

Java 数据库 开源 程序员 开发

史上最全Spring Cloud Alibaba全套笔记,嘎嘎顶

程序知音

Java 程序员 微服务 SpringCloud 后端技术

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档

Geek_0c76c3

Java 数据库 开源 程序员 架构

一文搞懂SaaS、PaaS、IaaS的概念和异同

闫同学

10月月更

一文带你搞懂HTTP和RPC协议的异同

闫同学

10月月更

【C语言难点突破】动态内存知识详解

Geek_65222d

10月月更

“我学数学,是为了拯救公主!”

图灵教育

小说 数学 奇幻

GitHub无抗手!MySQL DBA攻坚指南一出,阿里数据库专家都解脱了

Geek_0c76c3

Java 数据库 开源 程序员 开发

一文搞懂从浏览器输入一个URL到页面出现都经历了哪些过程

闫同学

10月月更

完美!首份把架构三原则拆开来讲的“架构师宝典”,电子版已上线

Geek_0c76c3

Java 数据库 开源 程序员 开发

深度思考:为什么需要泛型?

闫同学

10月月更

深度思考:到底什么是面向接口编程?

闫同学

10月月更

推荐一个人工智能应用落地的应用

felix

“我学数学,是为了拯救公主!”

图灵社区

小说 数学 奇幻

GitHub上惊现阿里大佬手记,这是真把微服务、容器和K8S讲清楚了

Geek_0c76c3

Java 开源 程序员 数据 开发

探索云原生之“翻译翻译,什么是云原生”

闫同学

10月月更

腾讯Offer已拿,这99道算法高频面试题别漏了,80%都败在算法上

Geek_0c76c3

Java 数据库 开源 程序员 架构

首版发布!2022年AlibabaJava中高级架构师面试手册(对标P5-P8)

Geek_0c76c3

Java 数据库 开源 程序员 开发

SQL优化思路+经典案例分析

程序知音

面试突击88:加入事务和嵌套事务有什么区别?

王磊

Java 面试

一文搞懂Go搭建Restful接口

闫同学

10月月更

我是如何学习一门新技术的

闫同学

10月月更

初识Java,一个简单的自我介绍

六月暴雪飞梨花

Java 后端 10月月更

黑幕!阿里P8爆出学透这份算法面试文档,不再怕任何大厂算法题

Geek_0c76c3

Java 数据库 开源 程序员 开发

深入浅出Docker容器数据卷

闫同学

10月月更

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