2017-08-16 62 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的使用條款。