BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JRuby 1.4正式发布,修正大量Bug

| 作者 丁雪丰 关注 4 他的粉丝 发布于 2009年11月9日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

2009年11月2日,在经历了3个RC版本之后,JRuby社区终于迎来了JRuby 1.4的正式版本。(点击此处查看官方发布说明。)

说起JRuby 1.4,最令人关注的特性应该就是对Ruby 1.8.7的兼容了。考虑到1.8.7已经成为Rails的推荐Ruby版本,而且很多操作系统也将1.8.7作为默认的Ruby版本,JRuby团队在 1.4版中开始兼容1.8.7,需要注意的是其patchlevel是174,因此并不保证兼容其后的特性也能得到支持。对于Ruby 1.9的支持也是大家关注的焦点,JRuby 1.4对--1.9做了一些改进,例如升级stdlib到1.9.2preview2,能够运行RubyGems(RubyGems版本升级到了 1.3.5)了等等。

>jruby -v
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3)
(Java HotSpot(TM) Client VM 1.6.0_10) [x86-java]
>jruby --1.9 -v
jruby 1.4.0 (ruby 1.9.2dev trunk 24787) (2009-11-02 69fbfa3)
(Java HotSpot(TM) Client VM 1.6.0_10) [x86-java]

对于Windows用户而言,新版本解决了很多Windows Native Launcher相关的问题,同时还特意提供了适用于Windows版本的安装包(分为带JRE不带JRE的两个版本),安装十分方便,比较人性化。

Ola Bini重新实现了JRuby的YAML解析器——Yecht,它更接近于MRI中使用的Syck,这一改变将能解决很多YAML方面的兼容性问题,JRuby团队希望Yecht能成为JRuby最终的YAML解析器。

在Java集成支持方面,除了性能提升,还对Java方法选择和Java/Ruby类型间的强制转换API做了修改,例如,1.4中提供了 java_method、java_send和java_alias方法。关于更多细节和整个Java集成方面的计划,Charles Nutter在邮件列表中做了详细说明

此外,JRuby 1.4还提供了一套新的嵌入框架——RedBridge,自1.4RC1以来该框架也得到了不少改进。有了RedBridge,使用者可以直接使用JSR223,而无须另外下载JAR包;对于BSF,RedBridge的实现也优于之前的版本。RedBridge的使用非常简单,在其Wiki上提供了一个范例:

package vanilla;
import org.jruby.embed.ScriptingContainer;
public class HelloWorld {
    private HelloWorld() {
        ScriptingContainer container = new ScriptingContainer();
        container.runScriptlet("puts \"Hello World!\"");
    }
    public static void main(String[] args) {
        new HelloWorld();
    }
}

最后,JRuby 1.4修复了自1.3.1以来的301个Bug。每次大版本的发布,JRuby团队都会给我们带来不少惊喜,如果希望了解更多1.4后续版本的计划内容,可以访问Engine Yard的博客


作者介绍:丁雪丰,网名DigitalSonic,满江红开放技术研究组织核心成员,Spring Framework 2.0 & 2.5文档翻译项目负责人,也参与了Hibernate、Seam等多份文档的翻译及校对工作。平时积极投身开源项目,是著名SFTP/SCP软件WinSCP的简体中文汉化者。参与翻译及编著的书籍有《Spring攻略》《JRuby实战》等。InfoQ中文站内容团队,尤其是架构、SOA和Ruby社区需要您的参与,有意者请邮件至editors【AT】cn.infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT