NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 2008-08-12
  • 本文字数:3325 字

    阅读完需:约 11 分钟

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 IDE SpringSource 工具包 是基于 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

2008-08-12 07:50840
用户头像

发布了 501 篇内容, 共 248.3 次阅读, 收获喜欢 57 次。

关注

评论

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

万文讲解知乎实时数仓架构演进

大数据老哥

国庆临近,字节后端开发3+4面,终于拿到秋招第一个offer

Java 程序员 后端

发量能决定一个程序员的水平吗

Java 程序员 后端

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

Java 程序员 后端

哭了,我居然回答不出来女同事的问题:索引为什么能提供查询性能---

Java 程序员 后端

喝了杯咖啡,我突然对MySQL锁、事务、MVCC-有了新的认识!

Java 程序员 后端

【Redis源码分析专题】(1)从本质分析你写入Redis中的数据为什么不见了?

洛神灬殇

redis Redis 核心技术与实战 11月日更 缓存驱逐

同一份数据,Redis为什么要存两次

Java 程序员 后端

Apache Pulsar 在 BIGO 的性能调优实战(下)

Apache Pulsar

分布式 中间件 BIGO Apache Pulsar 消息系统 Apache BookKeeper

四、StringRedisTemplate 和RedisTemlate有什么不同

Java 程序员 后端

双非本科进不了大厂?阿里技术四面+交叉面+HR面,成功拿到offer

Java spring 程序员 mybatis

双非本科毕业的我,为何能在金九银十期间斩获京东、字节、快手的offer

Java 程序员 后端

同一个Spring-AOP的坑,我一天踩了两次,深坑啊

Java 程序员 后端

可以回答一下:Redis和mysql数据是怎么保持数据一致的嘛?

Java 程序员 后端

史上最全Java面试266题:算法+缓存+TCP+JVM

Java 程序员 后端

【高并发】SimpleDateFormat类到底为啥不是线程安全的?(附六种解决方案,建议收藏)

冰河

Java 并发编程 多线程 高并发 异步编程

数据服务基础能力之元数据管理

数据分析 数据 元数据 数据管理 业务数据

可以回答一下:Redis和mysql数据是怎么保持数据一致的嘛?(1)

Java 程序员 后端

网络安全漏洞复现与分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

因为一次 Kafka 宕机,我明白了 Kafka 高可用原理!

Java 程序员 后端

图像处理网站

Java 程序员 后端

活动预告|ArchSummit全球架构师峰会

第四范式开发者社区

企业数字化转型的起手式是什么?

百度大脑

人工智能 百度

吐血总结——90%程序员面试都用得上的索引优化手册

Java 程序员 后端

工作五年之后,对技术和业务的思考

程序员 技术 职场 互联网人 业务

如何避免企业在碳排放数据上造假?

石云升

学习笔记 碳中和 碳交易

同事问我如何Java实现,搞定分析栈和队列数据结构的实现过程不就好了

Java 程序员 后端

哪有什么中年危机,不过是把定目标当成了有计划

Java 程序员 后端

基于 ElasticSearch 实现站内全文搜索(1)

Java 程序员 后端

吊打 ThreadLocal,谈谈FastThreadLocal为啥能这么快?

Java 程序员 后端

听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺

Java 程序员 后端

InfoQ 与 Jason Van Zyl 探讨 Sonatye、Eclipse基金会和 Maven_Java_Ryan Slobojan_InfoQ精选文章