1. 程式人生 > >關於版本那些事

關於版本那些事

相信大多數同學都在下載一些軟體或者jar包時會看到有類似beta、snapshot、release等等字尾,其實我們都知道,這些都是版本號,那麼,每一個標識分別表示什麼意思呢,相信,大多數人對這些標識的概念是比較模糊的,我也是一直深受其害,每次都要單獨去查一查,除了一些特別常見的。那麼藉此機會,我就總結一下這些用來標識版本的符號。

1、常見的版本號

我們在下載軟體或者jar包時經常看到的一些版本標識有:GA、SNAP-SHOT、RELEASE、ALPHA、BETA、RC等等

2、先談談Alpha、Beta、Gamma

以上三者,在系統、架包、軟體的開發過程中使用
Alpha:內測版,BUG多,開發人員開發過程中使用,希臘字母α,第一,指最初版
Beta:早期版本,有缺陷,無大BUG,可能加入新功能,進一步開發完善。
Gamma: 經beta 版,完善修改,成為正式釋出的候選版本(Release Candidate)

3、再談談RC、GA、R

RC:(Release Candidate):候選版本,幾乎就是正式版了,
GA:(Ggeneral Availability):發行穩定版,官方推薦使用此版本。
R,RELEASE:正式版,等價於GA

4、單獨來看看SNAP-SHOT

  • SNAPSHOT:快照版,可以穩定使用,且仍在繼續改進版本。
  • snapshot多見於架包依賴中,使用Maven時,需要的架包回去倉庫Nexus中找,,一個倉庫一般分為RELEASE倉和SNAPSHOT倉快照版,前者理解,穩定正式版本,後者如何?Maven在構建專案時,會優先去遠端倉庫中檢視是否有最新的example-1.0-SNAPSHOT.jar,如果有則下載下來使用。即使本地倉庫中已經有了example-1.0-SNAPSHOT.jar,它也會嘗試去遠端倉庫中檢視同名的jar是否是最新的。
  • 有的人可能會問,這樣不就不能充分利用本地倉庫的快取機制了嗎?彆著急,Maven比我們想象中的要聰明。在配置Maven的Repository的時候中有個配置項,可以配置對於SNAPSHOT版本向遠端倉庫中查詢的頻率。頻率共有四種,分別是always、daily、interval、never。當本地倉庫中存在需要的依賴專案時,always是每次都去遠端倉庫檢視是否有更新,daily是隻在第一次的時候檢視是否有更新,當天的其它時候則不會檢視;interval允許設定一個分鐘為單位的間隔時間,在這個間隔時間內只會去遠端倉庫中查詢一次,never是不會去遠端倉庫中查詢(這種就和正式版本的行為一樣了)。

5、其他版本

Alpha:內部測試版
Beta:外部測試版
Build:修正版
Corporation或Enterprise:企業版
Delux:豪華版
DEMO:演示版,有功能限制
Free:免費版
Full:完全版
Final:正式版
Pro(professional):專業版
Plus:加強版
Retail:零售版
Release:發行版,有時間限制
Shareware:共享版,雖然不會要求註冊但是一般也有功能限制
SR:修正版
Trial:試用版(一般有時間或者功能限制)