Oracle開始從Java運行時中移除JAR包
早在2012年8月,在Java平臺首席架構師Mark Reinhold宣布模塊化項目Jigsaw之后不久,JEP 162這一題為“準備模塊化”的提案就指出,在Jigsaw項目中為模塊化系統開發的代碼不會集成到JDK 8中。那次延期直接將模塊化支持推遲到JDK 9,最早也得到2016年。
不過,Oracle近來加快了向Java引入模塊化系統的步伐。2014年8月,Oracle將經過重組的源代碼(JEP 201)合并到JDK 9 build 27中。近日,他們又將重構過的運行時(JEP 220)合并到JDK 9 build 41中,以下是其中幾項比較重大的變化:
- JDK中不再包含JRE子目錄;
- 停用授權標準覆蓋機制,刪除相應的實現代碼,用可升級的模塊取代它,JDK中不再包含系統屬性java.endorsed.dirs及目錄lib/endorsed;
- 停用擴展機制,刪除相應的實現代碼,類似地,JDK中不再包含系統屬性java.ext.dirs及目錄lib/ext,但一些與擴展機制相關的Manifest屬性,如Class-Path、Sealed等,還會保留;
- 刪除rt.jar、tools.jar、dt.jar以及其它各種內部JAR包,其中的類和資源文件存儲在一種名為jimage的更加高效的格式中。需要直接訪問rt.jar的工具可以使用一個內部NIO文件系統提供程序訪問運行時中的類和資源文件;
- 子目錄lib中的配置文件.properties、.policy移到新目錄conf中,其它計劃由開發人員、部署人員和終端用戶修改的配置文件也保存在該目錄中;
- 為模塊、類和資源引入一種新的URI命名規則jrt,它隱藏了JDK內部結構或格式,其語法為jrt:/[$MODULE[/$PATH]]。 </ul>
Oracle后續還會引入其它一些變化,但Reinhold明確指出,在所有已計劃的變化中,上述變化是最重大的。他還特別強調,他們并沒有提議刪除一般用途的JAR包,而只是刪除JRE和JDK中的。
接下來,根據Mark Reinhold的計劃,還將有第四項提案。該提案將引入模塊化系統本身,而且會與模塊化系統JSR保持一致。
感興趣的讀者可以從官方網站上下載Java 9早期試用版。有一點需要注意,該版本不支持Windows XP。
來自:http://www.infoq.com/cn/news/2014/12/oracle-java-jar-package
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!