速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

体育直播开发公司有哪些公司?为何都选择东莞梦幻科技

软件开发-梦幻运营部

数造科技荣获2024DAMA中国“数据治理创新奖”

数造万象

人工智能 大数据 数据治理 科技 数据管理

选对工具提升效率!10款实用项目进度管理软件推荐

爱吃小舅的鱼

项目进度管理软件

In-Depth QCN6224 vs. QCN6024 Analysis of Qualcomm WiFi Network Card CPUs

wifi6-yiyi

wifi

MoE++: 颜水成团队与北大袁粒团队推出新一代MoE架构,专家推理速度倍增,性能全面提升

新消费日报

刷完这1000多道大厂高质量Java面试题集,这个金九银十妥妥的

采菊东篱下

java面试

Adobe Premiere Pro 2025(PR2025) 直装版

你的猪会飞吗

pr2025下载 pr2025软件

数据库运维实操优质文章文档分享(含Oracle、MySQL等) | 2024年9月刊

墨天轮

MySQL 数据库 oracle postgresql 国产数据库

Anaconda Conda实现Python多环境管理

百度搜索:蓝易云

Java 线程池获取池中所有线程列表的方法

快乐非自愿限量之名

Java 线程池

03.建造者模式设计思想

杨充

揭秘阿里巴巴1688商品详情API:探索其返回值的丰富性与多样性

代码忍者

pinduoduo API API 性能测试

NFTScan | 10.14~10.20 NFT 市场热点汇总

NFT Research

NFT\ NFTScan

鸿蒙开发案例:围住神经猫

zhongcx

多项目进度管控难题如何解决?9款工具推荐

爱吃小舅的鱼

多项目进度管控软件

java添加用户教程

百度搜索:蓝易云

前OpenAI首席技术官为新AI初创公司筹资;我国发布首个应用临床眼科大模型 “伏羲慧眼”|AI日报

可信AI进展

东北三省鸿蒙生态加速落地,150余款鸿蒙原生应用上架,多家政企内部办公应用启动鸿蒙化

最新动态

项目进度管理工具有哪些?推荐8款高效系统

爱吃小舅的鱼

项目进度安排软件

云服务器怎么使用GPU

百度搜索:蓝易云

深入探讨Spring Cloud Stream的消息分区

百度搜索:蓝易云

企业级 RAG 全链路优化关键技术

阿里云大数据AI技术

阿里云 云栖大会 rag AI搜索

谁说Linux不能玩游戏!deepin 23 通通拿下,超详细游戏教程合集!

nn-30

Linux 操作系统 游戏 deepin 黑神话悟空

观测云AI助手上线,让观测云使用更简单高效

观测云

人工智能

2025年中国-深圳国际碳纤维复合材料产业展会

秋硕展览

Exploring Qualcomm IPQ5332 and IPQ5322: The Champions of WiFi 7 Solutions

wifi6-yiyi

5G WiFi7 6G 10G IPQ5332

一文读懂什么是数据即产品(Data as a Product,DaaP)

tapdata

数据即产品DaaP 企业数据战略 数据产品与数据服务 数据治理与合规 元数据管理与数据血缘

Nuxt.js 应用中的 build:before 事件钩子详解

EquatorCoco

JavaScript

免费API的探索之旅:获取、调用与创新实践

幂简集成

API 免费API

vue中elementui el-input绑定的值如何过滤掉输入的空格?

百度搜索:蓝易云

几行代码带你用TinyEngine低代码引擎开发侧边栏插件

华为云开发者联盟

开源 前端开发 低代码 TinyEngine

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