写点什么

为了 Gradle,Spring 摒弃 OSGi

2012 年 11 月 01 日

一段时间以来, SpringSource 一直为 Gradle (基于 Groovy 语言)构建系统的支持者。在一年半之前,SpringSource 便开始将构建系统从 Maven 转向 Gradle 。现在,Spring 3.2 的开发已经接近尾声,而在此版本中,OSGi 元数据将不会发布到 Maven 库里。这样看来,OSGi 显然是这场转变的受害者。

作为曾经 OSGi 的坚定拥护者(请见infoQ 在2008 年对Rod Johnson 的采访),SpringSource 开始逐渐远离OSGi 和模块化技术了。虽然起初,像 Srping Roo Spring Dynamic Modules 这样的产品都在 OSGi 上有所投资,但是由于 Bundle-Name 所带来的紧依赖和精确版本依赖等问题,对 OSGi 的采用受到了阻碍。这种设计上的失败还将继续存在于 SpringSource EBR 中。

SpringSource 曾经通过重写包名和修改版本化导入的方式来解决 Spring Dynamic Modules 的问题,但是这样所带来的问题比其所解决的问题还多,结果限制了 Spring 在商业领域的采用量。在 2009 年,Spring DM 开始向 Eclipse Foundation 转移,最终的结果变成了 Eclipse Virgo

也是从那时开始,Rod Johnson 开始改变自己的观点,于是在去年,他谈到, OSGi 不够简单。去年年末,Spring 在发布中最后一次包含了 OSGi 元数据。在 Spring 3.1 基础上的所有服务都将继续包含 OSGi 元数据,因为 Spring3.1 是根据 Maven 标准来构建的。然而,在最新的 Spring 3.2 将不再包含 OSGi 元数据了。针对此,Gradle 提供了一个 OSGi 插件,该插件的功能与 Maven Felix BND 插件相同。

虽然 Rod Johnson 在今年年初离开了SpringSource ,但是从Maven 到Gradle 的迁移已经就绪,而SpringSource 新的管理层很可能会继续摒弃OSGi。但不管如何, SpringSource EBR Eclipse Virgo 对 OSGi 的依赖像白纸黑字一样写着。将来,要得到兼容 OSGi 的 Spring 模块可能只有通过有社区支持的 EBR 了。而对于那些在防火墙之后或在 Maven 中使用代理的人来说,连享受这样社区支持 EBR 的机会估计都没有了。

你会介意在 Spring 所有的工程摒弃中 OSGi 元数据吗?你会认为 SpringSource 对 Gradle 的进一步采用会减少 Maven Central 中的 OSGi 内容吗?请在下面发表你的评论。

查看英文原文 http://www.infoq.com/news/2012/10/spring-osgi-gradle


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012 年 11 月 01 日 10:1914353

评论

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

git的几种实用操作(合并代码与暂存复原代码)

良知犹存

git

Spring-boot 单元测试

陈靓-哲露

QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考

艾小仙

架构 编程语言

Java-技术专题-AQS和Volatile和Synchronized实现原理

李浩宇/Alex

数字货币交易所技术开发,交易所源码

13530558032

区块链技术智能合约有哪些实际的应用场景

CECBC区块链专委会

智能合约 区块链技术

Spring Boot CLI 介绍

hungxy

Spring Boot Spring Boot CLI

入行架构师之前,这7项技能你要先了解一下

华为云开发者社区

架构 架构设计 架构师

从想当亿万富翁到职场、创业、爱情、抑郁、学医学武,我的程序人生

陆陆通通

Java 创业 程序员 爱情 程序员生活

数字经济时代来临 区块链护航数字资产安全

CECBC区块链专委会

金融 数字时代

当代开发者的好帮手,浅析.NET敏捷开发框架的优势与特点

Philips

敏捷开发 软件开发 .net core 开发工具

实战案例丨GaussDB for DWS如何识别坏味道的SQL

华为云开发者社区

数据库 sql 算子

Java异常面试题(2020最新版)

Java架构师迁哥

区块链支付系统开发技术方案,USDT支付系统搭建

13530558032

TCP和HTTP中的KeepAlive机制总结

陈德伟

nginx TCP 性能 网络 HTTP

赞!腾讯T4分享web性能笔记,竟包含大量网络协议的优化技巧

周老师

Java 编程 程序员 架构 面试

HTTP必知必会

陈靓-哲露

数字资产钱包开发方案,区块链数字钱包软件源码

13530558032

为什么企业需要CRM系统?CRM的作用及其重要性分析

力软.net/java开发平台

软件开发 信息化 CRM

DDD+微服务实战:什么是DDD?

AI代笔

微服务 领域驱动设计 DDD

未来已来!全球一流科技盛会——云栖大会9月17日线上隆重举办

北柯

智慧公安重点人员管控系统平台开发,智慧警务系统

13530558032

易观方舟Argo+CRM | 让企业数据发挥更大价值

易观大数据

面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景

小林coding

乐观锁 高并发 操作系统 计算机基础

跨专业学习6个月,成功上岸阿里|滴滴,分享学习路线供大家参考

小Q

Java 学习 架构 面试 基础

LeetCode题解:622. 设计循环队列,使用双向链表,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

本以为自己MySQL够牛逼了,直到亲自去阿里受虐了一次!

Java架构师迁哥

天猫成立房产部门,利用区块链承载交易多项服务功能

CECBC区块链专委会

区块链 房地产

银行数仓体系发展之路

易观大数据

Java-技术专题-JMX超详细解读

李浩宇/Alex

Java程序员博客系统推荐!我调研了100来个 Java 开源博客系统,发现这 5 个最好用!

云流

Java 项目管理 计算机 框架设计

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

为了Gradle,Spring摒弃OSGi-InfoQ