java9新特性-6-多版本兼容jar包

1.官方Feature

238:?Multi-Release JAR Files



2.使用說明

當一個新版本的Java出現(xiàn)的時候曙博,你的庫用戶要花費數(shù)年時間才會切換到這個新的版本猜扮。這就意味著庫得去向后兼容你想要支持的最老的Java版本(許多情況下就是Java 6 或者 Java7)昌犹。這實際上意味著未來的很長一段時間,你都不能在庫中運用Java 9所提供的新特性屉佳。幸運的是谷朝,多版本兼容jar功能能讓你創(chuàng)建僅在特定版本的Java環(huán)境中運行庫程序選擇使用的class版本。

舉例1:

jar root

? - A.class

? - B.class

? - C.class

? - D.class

? - META-INF

???? - versions

??????? - 9

?????????? - A.class

?????????? - B.class

說明:

在上述場景中忘古,root.jar 可以在 Java 9 中使用,不過A或B類使用的不是頂層的root.A或root.B 這兩個class,而是處在“META-INF/versions/9”下面的這兩個。這是特別為 Java9 準備的 class 版本诅诱,可以運用 Java 9 所提供的特性和庫髓堪。同時,在早期的 Java 諸版本中使用這個JAR 也是能運行的娘荡,因為較老版本的 Java只會看到頂層的A類或 B 類干旁。

舉例2:

jar root

? - A.class

? - B.class

? - C.class

? - D.class

? - META-INF

???? - versions

??????? - 9

????????? ?-? A.class

?????????? - B.class

??????? - 10

????????? ?-

? A.class

官方說明:

By this scheme, it is possiblefor versions of a class designed for a later Java platform release to overridethe version of that same class designed for an earlier Java platform release.


3.使用舉例

步驟一:提供必要的類

在指定目錄(E:\teach\01_Java9\multijar\src\main\java\com\atguigu)下提供如下的類:

【Generator.java】


【Application.java】


在如下目錄(E:\teach\01_Java9\multijar\src\main\java-9\com\atguigu)下提供同名的類:

【Generator.java】


步驟二:打包

指令如下:

javac -d build --release 8? src/main/java/com/atguigu/*.java

javac -d build9 --release 9? src/main/java-9/com/atguigu/*.java

jar --create --main-class=Application --file? multijar.jar -C build . --release 9 -C build9 .


步驟三:在java 9 及之前版本的環(huán)境下進行測試即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炮沐,隨后出現(xiàn)的幾起案子争群,更是在濱河造成了極大的恐慌,老刑警劉巖大年,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件换薄,死亡現(xiàn)場離奇詭異,居然都是意外死亡翔试,警方通過查閱死者的電腦和手機轻要,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垦缅,“玉大人冲泥,你說我怎么就攤上這事”谙眩” “怎么了凡恍?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怔球。 經(jīng)常有香客問我嚼酝,道長,這世上最難降的妖魔是什么竟坛? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任革半,我火速辦了婚禮碑定,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘又官。我一直安慰自己延刘,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布六敬。 她就那樣靜靜地躺著碘赖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪外构。 梳的紋絲不亂的頭發(fā)上普泡,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音审编,去河邊找鬼撼班。 笑死,一個胖子當著我的面吹牛垒酬,可吹牛的內(nèi)容都是我干的砰嘁。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼勘究,長吁一口氣:“原來是場噩夢啊……” “哼矮湘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起口糕,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤缅阳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后景描,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體十办,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年超棺,在試婚紗的時候發(fā)現(xiàn)自己被綠了橘洞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡说搅,死狀恐怖炸枣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情弄唧,我是刑警寧澤适肠,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站候引,受9級特大地震影響侯养,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜澄干,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一逛揩、第九天 我趴在偏房一處隱蔽的房頂上張望柠傍。 院中可真熱鬧,春花似錦辩稽、人聲如沸惧笛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽患整。三九已至,卻和暖如春喷众,著一層夾襖步出監(jiān)牢的瞬間各谚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工到千, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留昌渤,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓憔四,卻偏偏與公主長得像膀息,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子加矛,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容