9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

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

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

关注

评论

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

机器学习笔记之:

Nydia

VoltDB让Kafka支持复杂数据流驱动的实时业务决策

VoltDB

数据库 kafka 分布式系统 VoltDB

Ebean ORM框架介绍-1.增强注解

Barry的异想世界

Spring Boot jpa ORM Ebean

一文总结GaussDB通信原理知识

华为云开发者联盟

数据库 通信 框架 GaussDB 计算

对话京东科技算法科学家吴友政:回望2020,NLP技术发展速度强劲

京东科技开发者

人工智能 自然语言处理

Kubernetes 原生 CI/CD 构建框架 Tekton 详解

字节跳动 Kubernetes 云原生 Tekton CI/CD

Android 完全符合规则但很头疼的Json映射成一个树结构且可折叠的列表?

第三女神程忆难

Java android kotlin 安卓

从云数据迁移服务看MySQL大表抽取模式

华为云开发者联盟

MySQL JVM JDBC 数据迁移

缓存设计的好,服务基本不会倒

万俊峰Kevin

缓存 微服务 microservice Go 语言

Spring Boot 微服务性能下降九成!使用 Arthas 定位根因

阿里巴巴云原生

Java 微服务 云原生 中间件 Arthas

最好的IDEA debug长文?看完我佛了

YourBatman

eclipse debug IntelliJ IDEA 远程调试

架构师训练营第2期 大作业 (一)

月下独酌

架构师训练营第2期

大作业二-请用思维导图画出架构师训练营所有技术知识点

未来已来

无意间发现 Google 代码模板,分享给大家!

C语言与CPP编程

c++ JavaScript objective-c 代码规范 Python 编码格式

2. 无门槛学会数据类型与输入、输出函数,滚雪球学 Python

梦想橡皮擦

Python python 爬虫 2月春节不断更 python入门

前端开发:Node版本引起的报错问题

三掌柜

vue.js 大前端

产品训练营第四章作业(一)

Arnold

逼疯UE设计师,不可不知的提升产品用户体验的10个测试方法

华为云开发者联盟

产品 测试 UI 用户体验

MyBatis专栏 - 一级缓存

小马哥

Java mybatis 七日更 2月春节不断更

架构师训练营第2期大作业(二)

月下独酌

架构师训练营第2期

几幅图拿下 ARP 协议

飞天小牛肉

Java 程序员 计算机网络 网络协议 2月春节不断更

从0到1实现一个简单计算器

codevald

Java 项目 计算器 动手实践

2 期架构师训练营 - 大作业(一)

云飞扬

架构师训练营第2期

week11-homework

J

week11-conclusion

J

Elasticsearch 分页搜索以及 deep paging 性能问题

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

中国移动工程师浅析:KubeEdge在国家工业互联网大数据中心的架构设计与应用

华为云开发者联盟

大数据 数据采集 工业智能体 边缘数据中心管理 EDCM

Arthas 使用的各类方式

阿里巴巴云原生

Java 微服务 云原生 中间件 Arthas

架构师训练营-架构大作业(一)

花果山

架构师训练营第2期

前端必学必会-多媒体-本地存储-浏览器与服务器的交互-通信功能

我是哪吒

学习 程序员 面试 大前端 2月春节不断更

Serverless 场景下 Pod 创建效率优化

阿里巴巴云原生

Docker Serverless 容器 云原生 k8s

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