JSR-277

JSR-277是關於Java模組化系統的規範,它定義了分散式和收集Java代碼與相關資源的容器。JSR-277規範還定義了運行時的發現、載入、繼承機制。

許多開發者認為發布一個簡單的Java應用程式是一個複雜的任務,這是因為Java應用程式經常涉及到創建一個本地的安裝器以打包多個JAR到一個分布單元里。並且為了實現基於web的部署,有時需要轉化應用程式到Java applet或者是JNLP應用程式。

對於JAR,它沒有內置的版本支持,也沒有可信任的表達、解析、執行機制以制約JAR之間的依賴關係。開發者也發現部署已經安裝的Java擴展包十分困難,這是因為他們會比較容易的陷入一系列問題之中,比如版本的衝突,名空間的衝突等等。正因為存在以上種種問題,Sun公司從1998年就開始籌備制定JSR-277規範。JSR-277規範包括了以下內容:

1) 一種分布形式(例如一個Java模組)和它的元數據組成了一個單元,是為了打包收集好的Java代碼和相關的資源。元數據會包含模組的信息,模組內部資源的信息,以及與其他模組之間的依賴關係的信息。由於會不經意的把資源對外暴露的,所以元數據還包含了對外發布的名單以限制這類事件的發生。元數據可能有選擇性的允許一些資源暴露給一部分模組。
2) 一個版本模版定義了一個模組是如何聲明它自己的版本號,以及它與其他模組版本號的依賴關係。
3) 一個用來存放和檢索模組的容器。在一般情況下,這些模組是存在於計算機上並且帶有版本號和名空間隔離的機制。
4) 為模組的發現、載入、集成提供存在於應用程式載入器和類載入機制中的運行時支持。
一系列的支持工具,包括打包工具和存儲工具等等。它們共同支持模組的安裝和卸載。

相關詞條

熱門詞條

聯絡我們