写点什么

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

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

关注

评论

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

豆瓣9.6分,Scala编程圣经第5版重磅来袭!

博文视点Broadview

OpenHarmony开源开发者成长计划 | 知识赋能第四期课程——标准系统HDF开发

Anna

直播 赋能 OpenHarmony

大数据Flink培训:维表Join/双流Join的方法

@零度

flink join 大数据开发

Go学习笔记——条件判断if

为自己带盐

Go 学习笔记 3月月更

web前端培训:react基础面试题分享

@零度

前端开发 React

云原生小课堂 | Envoy请求流程源码解析(二):请求解析

York

云原生 istio 网络 envoy Service Mesh (ASM)

优雅的DO,VO,DTO转换工具MapStruct

卢永德

3月月更

upload上传文件类型的限制的几种方式(element)

lo

JavaScript

作为前端上传图片的两种方法

小学僧

3月程序媛福利 3月月更

web技术分享| WebRTC控制摄像机平移、倾斜和缩放

anyRTC开发者

前端 音视频 WebRTC 摄像头 web技术分享

Linux之ss命令

入门小站

Linux

虎符交易所完成2月HOO回购 HOO单月涨幅高达40%

区块链前沿News

Hoo 虎符交易所 平台币

恒源云(GpuShare)_加速pytorch训练的方法来喽~

恒源云

深度学习 PyTorch

重点操作之上线、恢复、部署 - 大屏云极简使用手册

shulinwu

程序设计优化之管道数据流

有道技术团队

java培训:Redis和Mysql数据怎么保持一致

@零度

MySQL redis JAVA开发

尚硅谷Maven新版视频教程发布

@零度

maven

CNI 这么多,怎么选?| 容器网络系列第1期

BoCloud博云

Kubernetes 容器云 cni 容器网络平台

一文带你了解动态数组方法实现

xiaoyu

数据结构 算法 数组 java; 动态数组

这场汇聚行业顶级大咖的Meetup,有哪些不容错过的干货?| IDP Meetup 01

Baihai IDP

人工智能 AI 生态 Meetup

Java 8 Stream 从入门到进阶——像SQL一样玩转集合

Geek_rze78a

Java JAVA stream

信息安全无小事!教你如何做日志脱敏

卢永德

AHPA:开启 Kubernetes 弹性预测之门

阿里巴巴云原生

阿里云 Kubernetes 云原生 AHPA 弹性预测

31 家企业入选阿里云首期云原生加速器,共建云原生行业新生态

阿里巴巴云原生

阿里云 云原生 云原生加速器 招募 行业生态

优雅的编码习惯总是让人心情愉悦(Shell篇)

XinXing

Shell Code 优雅 脚本 规范

黄东旭当选 CCF 数据库专业委员会、开源发展委员会、大数据专家委员会执行委员

PingCAP

理解Restful风格

蜜糖的代码注释

RESTful 接口规范 REST API 3月月更

HarmonyOS UI组件在线预览,程序员直呼“不要太方便~”

HarmonyOS开发者

UI HarmonyOS

在 Nebula K8s 集群中使用 nebula-spark-connector 和 nebula-algorithm

NebulaGraph

数据库 开源 分布式系统 图数据库

AI算力加速之道

安第斯智能云

人工智能 深度学习 异构计算

面试官:对于宏任务和微任务,你知道多少?

是乃德也是Ned

JavaScript 面试 前端 ES6 Promise

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