gpt4 book ai didi

java - 单个 JSR,多个 API 版本

转载 作者:行者123 更新时间:2023-12-02 12:21:43 28 4
gpt4 key购买 nike

许多规范为不同版本的 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?做出这个决定的过程是怎样的?我可以投票吗?

最佳答案

您必须是 JCP(Java Community Process)的成员才能提出 JSR 提案。成为成员(member)意味着要缴纳一些年费。 JSR-913 解释了 JCP 规则。

JCP 定义了几种类型的成员(摘自 JCP):

  • 准成员(member):可以为 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 header 显示它已于 2017 年 5 月 23 日发布!奇怪...

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

关于java - 单个 JSR,多个 API 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45723816/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com