緊跟著早前發布的關于模塊化JDK的聲明,Mark Reinhold宣布Jigsaw項目成為OpenJDK的一部分。下面的內容援引了其聲明:
為了在接下來的幾年中能夠模塊化JDK 7,同時也為了更好地宣傳JSR 294的工作,Sun打算不久之后在OpenJDK社區中創建Jigsaw項目。
該努力必然會創建一個簡單、低層次的模塊系統,其設計將聚焦于模塊化JDK這個目標。開發者可以在自己的代碼中使用該模塊系統,Sun也會全力支持該系統,但它并不會成為官方Java SE 7平臺規范的一部分,也不一定會得到其他SE 7實現的支持。
如果未來的Java SE平臺包含了特定的模塊系統,那么Sun將提供一種方式來移植Jigsaw模塊以使之符合相應的標準。同時,我們還會積極地尋求與其他模塊系統交互的方式,尤其是OSGi。
模塊化JDK這個目標應該是可以實現的,尤其是Apache Harmony已經證明了JDK是可以被模塊化的(使用OSGi)。然而這個目標卻因另一個原因而變得更加有趣:它將在JCP外實現。
由于缺少可視化的發展過程,再加上閉門造車的實現,對于大多數人來說很難參與進JSR 277,更別提對其獻計獻策了。通常這會導致標準的誤入歧途,使得標準過于關注實現的細節而忽視了通用性。不僅如此,這還會導致標準成為事后諸葛亮——想解決問題時(例如奇數的版本號)卻發現已經太遲了。根據聲明所述,JSR277還處于“領導地位”,但它實際已死。
從JSR277中分離出的JSR294(以前可是個龐然大物,不過現在已經模塊化了)是個很大的進步;它將引入一些語言上的變化,這會使得模塊化的實現獨立于任何特定的模塊化進程。
從聲明中看到的激動人心的事情還有OSGi已經成為模塊化的事實上的標準了,這種合作是件好事。但這不一定意味著它將基于OSGi實現,事實上,它只是建議最好與OSGi而不是其他方式合作:
JSR
277的JAM模塊系統并不適合作為模塊化JDK的基礎,那么OSGi框架如何呢?該模塊系統非常成熟、穩定和健壯。其核心甚至已經在Java虛擬機中實
現出來了,也就是Apache Harmony。OSGi并沒有與Java語言集成,相反,它構建在Java SE平臺之上而不是其中。
這最后的問題也能解決。Sun現在計劃直接與OSGi聯盟合作以便OSGi框架的未來版本能充分利用JSR 294的特性進而能和語言集成的更加緊密。
我相信未來的OSGi標準會使用JSR 294的模塊,盡管還有一些建議的改變。不管怎么樣,下周在Devoxx 08舉辦的Modularity in Java講座應該會對Java的未來做出一些有趣的預言。
posted on 2008-12-25 00:15
墻頭草 閱讀(1415)
評論(1) 編輯 收藏 所屬分類:
業界資訊