在Java 9需要在2016年5月前完成完整功能卻錯過了截止日期后,Java平臺的首席架構師Mark Reinhold提出了一個方案來完全審查所有遺留在未完成JEP中的工作,并且決定了是進一步推遲這個項目來適應進度還是減少項目范圍。雖然進度還沒有完成,但是現在的狀態更適合兩者相結合起來做。
Reinhold之前聲明過他認為Java新版本沒有趕上截止日期應該采取什么行動:從一方面來說,有一些核心的、為新版本賦予意義的功能,并且交付需要延遲才能囊括這些核心功能;而從另一方面來說,他強調了為新版本發表一個相對可預測的時間安排,并作出了非核心功能如果不能按時做完則應該減少項目范圍的結論。項目的根本原因支持了他們提出的觀點:選出Java 9需要等待的JEP和必須晚一些再派生出的JEP。
這個過程希望JEP所有者請求截止日期延長、表明預估交付日期,或者減少Java 9中的功能作為目標。對于那些請求延長的所有者,會由一個審核過程來決定時限延長是否被批準。這個過程影響了82個JEP中的11個。
在有風險的JEP中,從問題跟蹤者的陳述中來判斷,在寫這篇文章時有10個JEP所有者要求延長期限,其中7個已經被批準;其他的3個依舊未決定。這些通過的JEP的審核過期日是9月1日,這意味著大約有3個月的延長期限。如果我們假定現在的形勢代表最后的決定,Java 9會被進一步的3個月延遲影響,潛在地將GA推遲到2017年6月,并且會減少4個JEP的項目范圍來以防進一步延遲。潛在被減少的4個JEP會是:
JEP 110:HTTP/2客戶端,9月1日是集成日期,沒有提供過期日。 JEP 277:增強棄用,9月1日是集成日期,過期日為9月29日。 JEP 282:jlink,Java連接器;沒有提供過期日。 JEP 284:新的HotSpot編譯系統,沒有請求延遲。雖然沒有任何定論,但是看起來最近的開發正在讓Java 9逐步形成最終的形式。如果上述的JEP最終被刪減,我們會需要更多分析來評估他們的影響,特別是有關JEP 282(jlink),它看起來像一個模塊系統的基本部件。
查看英文原文:Java 9 on the Brink of a Delivery Date and Scope Review