2017-08-16 60 views
0

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

------------------------------- 
|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

您必须是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的使用条款。