InfoQ

新闻

InfoQ 与 Jason Van Zyl 探讨 Sonatye、Eclipse基金会和 Maven

作者 Ryan Slobojan译者 崔康 发布于 2008年8月12日 上午7时50分

社区
Java
主题
构建系统
标签
Maven,
Eclipse
Snoatype,这家推动Maven发展的主要公司,最近宣布他们准备以战略开发者身份加入Eclipse基金会。InfoQ就此采访了Sonatype首席技术官和Maven创始人Jazon Van Zyl,以了解他们的合作关系及对Maven未来的影响。

InfoQ: 您能否详细描述一下,与Eclipse的紧密联系会对Maven产生什么影响?

Jason Van Zyl: Maven 和Eclipse的用户社区存在巨大的重叠。Sonatype非常希望联姻这两个用户社区,提供两个平台之间的无缝集成。特别是用户将受益最多。 Sonatype与Apache Maven社区保持了长期的关系,我们正在努力培养与Eclipse的这种关系,在Maven和Eclipse社区之间建立一座桥梁。这两者之间一直以来 存在着一点紧张关系:关于如何构建软件、依赖管理系统如何工作、二进制文件应该存放在何处。我们正在建立实用的混合解决方案使开发人员能够完成他们的工 作。

InfoQ:这种合作关系在短期和长期会如何影响Maven?

Jason Van Zyl: 短 期来看,从技术角度讲,m2eclipse集成方案让我对Maven提供的嵌入技术做了认真的审视。我们已经修改了它的许多方面以方便在Eclipse平 台上运行Maven。从社区的角度讲,大量的用户汇聚到m2eclispe上:邮件列表在迅速增长,我们让用户提交了许多新的功能需求,用户对我们创建的 新鲜工具例如POM编辑器反应积极。在头四个月下载量接近10万次,这对于pre-1.0版本来说是相当惊人的。

这一切引起了大量的反馈,也推动了Maven内核的变化。许多用户期望在Eclipse中增加的行为和可视化界面让我们意识到性能的问题,并开始知道如何发 布Maven内核的事件。Maven是可扩展的,但是如何暴露给Eclipse强大的扩展点机制,让我们开始考虑如何在Maven平台上提供正确的地方用 于扩展、如何确保在Eclipse平台是可见的。

一 个具体的例子就是如何在Eclipse中暴露我们的Nexos(Sanatype's 存储管理器)API,让其他Eclipse插件可以查询并获取Maven存储的文件。这例子很简单,但非常强大,因为它允许开发人员实现类似“我想在我的 企业库中找到所有代表web服务的API”的想法,同时允许开发人员间接地选择一系列web服务、重新组合成一个新的应用。

从 长期来看,Sonatype是Eclispe基金会的战略开发者,这意味着我们在Eclipse委员会拥有一席之地,我们有机会影响Eclipse平台的 发展方向。当然,没有哪一个组织可以为所欲为。一切都通过对话解决。作为战略开发者,Sonatype需要提供8位全职的员工致力于m2eclipse, 而且这项工作的大部分都是在Maven本身,长期来看有利于Maven社区。Maven通过Eclispe社区获得了巨大的关注。

Apache 和Eclispe社区,在我看来,是非常互补的。Apache起源很早,汇集了开源的热情,但有一点混乱。Eclipse对开源有着更专业和商业化的认 识。这两者对于创建一个支持用户的工程生态环境都是必需的。你可以在Apache看到非常热烈讨论,甚至是反对的声音,但是对创新有益。如果一切都是相同 事物的堆砌,没有新事物会诞生。Apache决不是这样的。但是,当涉及到发布一个产品时,Eclipse的价值就体现出来了:对知识产权、版本之间高层 次API的兼容性、发布时间表中严峻情况的处理等这些的详细关注。对我来说,创建混合系统,兼容并蓄这两个社区来生产类似m2eclispe的工具是最理 想的。

从长期来看,Sonatype与Eclispe的合作关系会在Maven工程中细化为对发布计划、消灭退化问题和增加与用户沟通的更多关注。这在2.0.9和2.0.10版本中已经开始了,那时我们通过一个可扩展的版本候选周期来消灭退化问题。

InfoQ:Maven 2.1 预计何时发行?其功能包括哪些?这会产生什么影响吗?

Jason Van Zyl: 目前,我们没有公开讨论时间表。我可以说,我们正在努力尽快发布Maven 2.1,与Eclispe的合作关系的确也起到了推动作用。Maven 2.1新增的一个主要功能是嵌入技术,这对m2eclispe非常重要。现在,我们准备发布Maven 2.1-alpha-1,我们正在努力确认运行在2.0.x版本上的插件的兼容性,这样可以帮助用户非常容易过渡。Eclispe也只针对发布版进行知识 产权审查流程,因此我们正在积极准备该版本,希望在Eclispe知识产权流程中不出什么大的问题。其结果非常乐观。

InfoQ: 社区的反馈对Maven产生了什么影响?

Jason Van Zyl: 在Maven的最近两个版本中,我们的确以客户为中心。我们努力修补了所有退化问题,添加了最强烈需要的功能。对于m2eclispe插件,我们实现了大多数功能,包括工程对象模型(POM)编辑器和Mexus存储管理集成。

InfoQ: 在Maven的未来发展中,Sonatype将扮演什么样的角色?

Jason Van Zyl: 在Sonatype公司中,有很多员工是Apache Maven的长期提交者和Apache成员,因此我们一直在深入参与Maven的开发。差不多五年前的这个时候,我发起了Maven工程,我也没有计划如 何发展。我会继续推动Maven社区前进。作为一个商业工作的显而易见的结果,我们会投入更多的人去参与Maven相关的技术,所以Sonatype将继 续在Maven社区中扮演一个关键角色。我想客户提出的很多事情都具有普通的意义,所以我觉得我们所做的工作有利于整个Maven社区。我们做了大量 OSGi集成,还有脚本语言集成,很多人会对这些感兴趣。最后,Sonatype的参与让那些通常会诞生的技术集成出现的更早一些。

InfoQ: 是否计划在未来版本中,将Maven的模块系统以OSGi作为规范?

Jason Van Zyl: 是 的!这个集成工程称为Tycho。它将提供基于Maven的解决方案,创建OSGi束和Eclispe插件。我们目前的原型已经颠覆了Maven通常的依 赖解析机制而采用了基于OSGi的依赖解析机制。我们可以创建无POM的基于OSGi的工程。这项工作也涉及到与p2存储的交互。我们想要提供的是一套使 用Maven用于基于OSGi开发的端到端解决方案。我们的许多工作涉及到存储,同时在很大程度上取决于我们在Nexus上的变化,它在Maven存储、 标准Eclipse更新网站和p2存储之间提供一个中间层。我们一直在努力做好Tycho,我们相信它将提供在Maven和OSGi世界之间所需的统一/ 集成层。Tycho也将随着m2eclipse移入Eclispe基金会。

以下是InfoQ读者对于该新闻的精彩讨论:
关于IDE中立的支持?

Aug 6, 2008 6:52 AM by Sébastien Arbogast

每次我听说一个优秀的开源工程与Eclispe基金会建立紧密的伙伴关系我都会有些担心,因为这会让这些工程禁锢于某些厂商。不管你们是否相 信,Eclispe不是最好的集成开发环境(IDE),很多开发人员使用其他的工具。Maven一个伟大的地方就在于它是IDE中立的,所以我可以在 Intellij上使用Maven工程,而我的同事则在Eclispe上使用,一切都很顺利。现在,我担心Maven这种新的转移会产生只在 Eclispe可用的功能而不是其他IDE。相同的事情正在发生于SpringSource,Adobe等等,非常糟糕!

Re:  关于IDE中立的支持?

Aug 6, 2008 7:44 AM by Eugene Kuleshov
   
Maven过去是将来也必定是IDE中立的。但是,如果你想获得好的IDE支持(这对于其他工具同样成立,不仅仅是Maven),你不得不用与IDE厂商 协商。很自然地,如果它是开源的,像Sonatype或者Springsource,你可以期望良好的IDE集成。这并不意味着偏向某个厂商,只是某些厂 商具有更好地工具集成。

从根本上说,你评价IDE优劣的标准并不适用于其他人。更一步讲,似乎你不太满意Spring和Adobe对你的IDE的支持,所以你或许应该重新评估一下你的标准或者要求你的IDE厂商对你正在使用的技术提供支持。

Re:  关于IDE中立的支持?

Aug 6, 2008 5:54 PM by Rod Johnson

只有Spring IDESpringSource工具包 是基于Eclipse的。我们在SpringSource应用平台中使用Eclispe Equinox,但并没有绑定到Eclispe IDE。

JetBrians已经在持续构建Spring对Intellij的更好支持,我相信也存在一个NetBeans插件。我们没有资源对每一个IDE提供支持,我们认为最好是对最流行的IDE提供附加值。

我们的工具包基于Eclispe是因为它的普及和可扩展性,也因为我们非常高兴的看到AJDT和Mylyn让我们如何方便的做产品支持。

Rod Johnson, SpringSource


查看英文原文:Jason Van Zyl Discusses Sonatype, The Eclipse Foundation and Maven

1 条回复

回复

支持Maven 发表人 Juven Xu 发表于 2008年8月13日 上午12时19分
  1. 返回顶部

    支持Maven

    2008年8月13日 上午12时19分 发表人 Juven Xu

    顺便说一下,我在翻译Maven: The Definitive Guide,详见juvenshun.javaeye.com

独家内容

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。

揭示常见的重构误区

相对于Java,.NET在持续重构方面所给与的重视仍然少为人知,大多数人对于重构是否真正属于开发过程,以及如何将其应用到开发过程中持观望态度。Danijel Arsenovski试图为你揭示这些谜题。