写点什么

Maven、Ant、Rake:JRuby 1.5 加强配置管理

  • 2010-04-14
  • 本文字数:1496 字

    阅读完需:约 5 分钟

随着即将到来的 JRuby 1.5 版本(预计将在四月底发布),JRuby 项目正通过集成 Maven、Ant 与 Rake 不断改善 Java 与 Ruby 的互操作性。Ruby 开发者将能更多地利用 Java 平台的优势,而 Java 开发者也将找到更多的理由在已有的项目中使用 Ruby 工具。

JRuby 1.5 中的一些主要的新特性是在配置管理方面,将 Ant 和 Maven 库全面集成进了它的工具集中。通过允许将 Java 库安装为 Gem,JRuby 的 Maven 集成将为 JRuby 平台带来成千上万的新 Gem

感谢来自 Sonatype 的 Tamas Cservenak,我们现在做到了曾经认为是不可实现的事情:让 RubyGems 完整集成世界上所有的 Maven 构件! 在 JRuby 1.5 中,你将能够安装或依赖任意发布到公共 Maven 库中的 Java 库。简而言之,你又多了 60000 多个唾手可得的库。

Maven 集成是通过一个针对 JRuby 的长得像标准 RubyGems 库的 Maven 服务器来实现的。JRuby 用户会看到像普通 Ruby 库一样方便地使 用 Java 库带来的好处。在那些评估新技术时强调库支持的企业里,这也能让 JRuby 成为更有用的选择。

JRuby 1.5 还能帮助 Java 开发者改善他们自己的依赖管理,这要归功于与 Apache Ant 构建工具的集成。在最近的一篇博客中,Charles Nutter 演示了 Java 开发者如何用 Ruby 的 Rake 构建工具和 Apache Ivy 依赖管理器(一般应该通过 Ant 来调用的工具)来管理依赖。Rake 能下载并安装 Ivn,用它从远程库中获取 jar 文件和其他资源(包括其依赖), 让它们能用于构建。因为 JRuby 1.5 能够在 Rake 中调用 Ant 任务,这才让一切成为可能。

那些想要减少 Ant 依赖的 Java 开发者无需从头重写构建文件。除了能在 Rake 中调用 Ant 任务,JRuby 的 Rake/Ant 集成还允许从 Ant 里调用 Rake,将 Rake 任务导入为 Ant 目标。Tom Enebo写到

你可以先为几个新功能点写 Rakefile,并让团队成员试用一下,看看他们的反应,如果他们喜欢的话……[你就可以] 更多地依赖 Rake 的能力,将 Rake 任务注入进 Ant 依赖图中。你的小组依旧使用 Ant 作为主要构建工具,但你正把更多的构建任务代理到 Rake 上。

Rake/Ant 集成允许开发者利用两者的优势:

我觉得人们把 Ant 当成这样一种工具——句法不太优雅,但能可靠地完成任务,而且在缺乏命令式编程结构这一点上也让人有些遗憾。这似乎是有意而为,但却让很多程序员不怎么高兴。 Rake,恰好相反,拥有更好的语法,还可以使用各种 Ruby 语言允许的结构……另一方面,如果你需要执行 Java 世界里的常用任务,那么 Rake 就缺少很多 Ant 包含的标准化跨平台任务了。你可以通过很多讨厌的 shell 命令来解决问题,一切看上去都很棒,呃,直到你尝试在 _Windows_ 上进行构建……

由于 Rake 提供了一套完整的命令式编程环境,有些在 Ant 里实现起来很繁琐(或者不写自定义 Ant 任务几乎无法实现)的事情在 Rake 中就变得轻而易举了。 你可以用 Rake 来实现那些部分,其他的东西依旧使用 Ant。

他补充到,“即使你完全使用 Rake,你也需要知道像 NetBeans 这样的软件希望有一个 build.xml,这样它才能和你的项目相结合。”

在 Rake/Ant 集成让 Java 开发者的生活更轻松的同时,它也能为 JRuby 开发者带来好处。在 Rake 中可以调用 Ant,在 Rake 里,Ant 任务能被当作 Rake 任务进行调用——你只需简单地导入一个 Ant 构建文件,就能让其中的任务被视为 Rake 任务了。这使 Rake 能与现有的 Ant 构建文件以及基于这些文件的系统结合起来。

“理想情况下我们能涵盖所有可能的集成场景,最终模糊 Rake 与 Ant 的界线,”Nutter 写到。“我们还会将 JRuby 的构建迁移到 Rake 上,大家都为此感到高兴。”

查看英文原文: Maven, Ant, Rake: JRuby 1.5 Enhances Configuration Management

2010-04-14 10:572090
用户头像

发布了 135 篇内容, 共 64.1 次阅读, 收获喜欢 43 次。

关注

评论

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

全链路压测必备基础组件之线程上下文管理之“三剑客”

Java 程序员 后端

Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)

不脱发的程序猿

Python qt GUI设计 Qt Designer 窗口布局方式

使用SpringCloudConfig进行分布式配置:存储库后端类型

Java 程序员 后端

活用向量数据库,普通散户也能找到潜力股!

Zilliz

数据库 Milvus 股票

这本现代魔法原理指南,把计算机体系掰开揉碎讲清楚了

Zilliz

编码

全文检索工具solr:第一章:理论知识

Java 程序员 后端

全网最热Vue入门教程你不看就吃亏了哦

Java 程序员 后端

区块链将会深度应用于乡村振兴

CECBC

使用Redis和Java进行数据库缓存 - DZone数据库

Java 程序员 后端

35w奖金池,腾讯云TDSQL精英挑战赛正式开赛!

科技热闻

入秋的第一篇数据结构算法:看看归并与快排的风采

Java 程序员 后端

ajax跨域问题

加里都好

JavaScript ajax HTTP

做一名程序员的基本要求

Java 程序员 后端

先到先得!价值百万的的ELk+Lucene笔记,技术点拉满

Java 程序员 后端

Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)

不脱发的程序猿

Python qt PyQt 调用UI文件 上位机开发

使用Spring Data JPA的Specification构建数据库查询

Java 程序员 后端

全新演绎!美团内部疯传Spring Boot速成手册也太香了(1)

Java 程序员 后端

全是精华!阿里最新出品的“SpringCloud架构笔记” GitHub已爆火

Java 程序员 后端

全网最新最全面Java程序员面试清单(12专题5000解析)

Java 程序员 后端

全网首发!撸了谷歌大神写的Spring源码笔记后,感觉之前读的都是渣渣

Java 程序员 后端

全网最全Spring面试题之基础篇整理总结(共69题,附超详细解答)

Java 程序员 后端

使用Spring Cloud Config进行分布式配置:Vault 后端

Java 程序员 后端

和12岁小同志搞创客开发:如何驱动 12864 OLED液晶显示屏?

不脱发的程序猿

少儿编程 智能硬件 创客开发 12864 OLED液晶显示屏

全新演绎!美团内部疯传Spring Boot速成手册也太香了

Java 程序员 后端

和12岁小同志搞创客开发:手撕代码,点亮LED灯

不脱发的程序猿

少儿编程 智能硬件 创客开发 Arduino

公司用算法考核程序员,与绩效挂钩,成绩太差将面临淘汰?

Java 程序员 后端

毕业之后,开源给了我第一份工作

Zilliz

数据库 vim 开源 成长

使用Spring

Java 程序员 后端

先知道怎么手写一个分页查询,再去使用PageHelper吧

Java 程序员 后端

和12岁小同志搞创客开发:手撕代码,Arduino IDE 软件下载和环境搭建

不脱发的程序猿

少儿编程 智能硬件 创客开发 Arduino

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

Java 程序员 后端

Maven、Ant、Rake:JRuby 1.5加强配置管理_Java_Paul Blair_InfoQ精选文章