JSR 277是Sun领导的小组,定义了一个官方JavaTM模块系统。从2005年6月开始它就已经活跃起来了,在2006年11月的时候它交付了一个早期草案。它定位于J2SE 7.0(Dolphin)的组成部分,然而在立足之前它仍任重道远。不过JSR 277是幸运的,Dolphin看起来要推迟到2009年了,以下是来自today.java.net上的讨论:
开源Java和创建OpenJDK基础架构显然耗费了Sun的许多精力,这也给我们带来了坏消息。通常Sun每18个月左右发布一个新的Java版本。Java 6是在2006年秋季发布的。因此,最初Java 7计划在2008年春季发布。但是现在可用的JDK7项目构建并没有整合主要的新特性,我们甚至明显连beta版都还未关闭。Danny Coward,他将是Java 7 JSR的规范领导者,现在表示他们的目标是在2009年1月发布新版本,从现在算起还有16个月。
OSGi,或JSR 291,是一个Java的模块系统,几乎已经是用了10年。有许多商业的和免费的可用实现(Felix、Knopflerfish、Equinox)。不像JSR 277那样依赖于Java 7,OSGi的实现可以运行在Java 1.3及J2ME基础上。许多系统已经在内部使用了OSGi,确保OSGi和JSR 277能够一起工作是JSR 277成功的必要条件。
JSR 277专家组由Java生态系统中的几个关键人物组成:Apache、Google、Red Hat、BEA等等,其中几个对已有Java模块系统有丰富的经验。Richard Hall是Felix的创建者,IBM的代表作是Equinox。尽管专家组阵容强大,但是在公开的可读邮件列表上却看不到很多讨论。相反,openjdk.java.net和另一个邮件列表modules-dev担当了这一讨论平台角色,在其上既有讨论也有自动化bug报告报表。
有一些问题谈到了JSR是否运行平稳。Dalibor Topic在1月份询问:
我也愿意将JSR 277的明显处于隐匿状态的专家组的不活跃成员更换为那些真正关心JSR的人,即:
David Bock
Stuart Halloway
Doug Lea
Ted Neward
Samuel Pullara
Apache Software Foundation
Ironflare AB
Jayasoft
SAS Institute Inc.
因为自去年5月以来,他们并没有在专家组邮件列表上张贴过一条信息(即,8个月),因此我认为他们可能被安全的GC掉了(GC——Garbage Collect,垃圾回收)。
我确信规范领导能够轻易找到感兴趣的专家,他们对这一课题有浓厚的兴趣 ,比如在这一邮件列表读者中间的某些专家。
Dalibor的说法是对的,JSR 277专家组的许多成员已经很久没有发言了(尽管实际上SAP最近评论多了起来)。或许我们更要关注的事实是,专家组不是被要求来评论模块系统本身的发展的,相反,设计是通过把实现文档化而进化的。