单个JSR,多个API版本

时间:2017-08-16 22:14:47

标签: java jsr

许多规范为不同版本的API定义了不同的JSR,例如:对于Java Servlet规范:

 -------------------------------
|Servlet spec version |   JSR   |
 -------------------------------
|     4.0             |   369   |
|     3.1             |   340   |
|     3.0             |   315   |
|     ...             |   ...   |   
 -------------------------------

但是,在其他情况下,API的多个版本由同一JSR处理。 例如,JavaMail有6个API版本 - 从1.1到1.6,全部通过JSR 919定义。

在尝试下载规范时,只能下载1.5个版本(一个用于评估,另一个用于实现)(称为 JavaMail-1.5.pdf 的文件)。如果我想阅读1.6版本或实现1.2,我运气不好。

旧版本的规范是否会作为流程的一部分被丢弃?

在这种特殊情况下,有一个1.6实现,但只有1.5规范可以公开访问。是否有公开隐藏的文件?

与创建一个全新的JSR相比,决定如何保持在同一个JSR中?做出决定的过程是什么?我可以投票吗?

1 个答案:

答案 0 :(得分:1)

您必须是JCP(Java社区流程)的成员才能为JSR提出建议。成为会员意味着支付一些年费。 JSR-913解释了JCP规则。

JCP定义了几种类型的成员(从JCP中提取):

  • 准会员:可以为JSR做出贡献并为执行委员会投票的个人。

  • 合作伙伴成员:可以为执行委员会服务并投票的Java用户组和其他非营利组织。

  • 正式会员:可以在专家组服务,领导JSR,为执行委员会服务并投票。

此处提供了解释如何加入JCP的图表:https://jcp.org/aboutJava/communityprocess/final/jsr364/JCP_Joining_Process_v11.pdf

JavaMail 1.6将在完全定稿后可用。正如您在JCP.org网站(https://jcp.org/aboutJava/communityprocess/maintenance/jsr919/JavaMail-1.6-changes.txt)上发布的纯文本文档中所看到的,他们将来会谈论它(!!!):

在今天(2017年8月17日)发布的这个页面上,他们说的是,如果他们将来将JavaMail 1.5的更改日志写入JavaMail 1.6一周以上。该文件以:

开头
JavaMail 1.6
============
(Updated August 28, 2017)
Following is a description of the changes to the JavaMail
API introduced in JavaMail 1.6.  The numbers in parentheses
are bug numbers; you can find more information about the
bug reports at:
https://jcp.org/aboutJava/communityprocess/maintenance/jsr919/JavaMail-1.6-changes.txt

此外,HTTP标题说它已于2017年5月23日发布!奇怪的...

对于Java规范,问题与JSR可用性无关。它们与TCK和JCK可用性相关联。总而言之,你不能说你的JSR实现实际上是这个JSR的Java实现而没有通过TCK / JCK中描述的所有测试。这些文件不是免费系统地提供的。即使您准备向Oracle支付费用以获取这些文档,Oracle也不会被迫接受。这很奇怪,但Oracle拥有Java IP和商标,因此您必须同意Oracle的使用条款。 / p>