Java開發學習(三十一)----Maven屬性與版本管理

一、屬性

1.1 問題分析

如下圖所示

你會發現,如果現在想更新Spring的版本,你會發現依然需要更新多個jar包的版本,這樣的話還是有可能出現漏改導致程序出問題,而且改起來也是比較麻煩。

問題清楚後,我們需要解決的話,就可以參考咱們java基礎所學習的變量,聲明一個變量,在其他地方使用該變量,當變量的值發生變化後,所有使用變量的地方,就會跟着修改,即:

1.2 解決步驟

步驟1:工程中定義屬性
<properties>
    <spring.version>5.2.10.RELEASE</spring.version>
    <junit.version>4.12</junit.version>
    <mybatis-spring.version>1.3.0</mybatis-spring.version>
</properties>
步驟2:修改依賴的version
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${spring.version}</version>
</dependency>

此時,我們只需要更新工程中properties標籤中所維護的jar包版本,項目中所有的版本也就跟着更新。當然除了將spring相關版本進行維護,我們可以將其他的jar包版本也進行抽取,這樣就可以對項目中所有jar包的版本進行統一維護,如:

<!--定義屬性-->
<properties>
    <spring.version>5.2.10.RELEASE</spring.version>
    <junit.version>4.12</junit.version>
    <mybatis-spring.version>1.3.0</mybatis-spring.version>
</properties>

具體使用,就是使用 ${key}來獲取,key爲等號左邊的,值爲等號右邊的,比如獲取紅線的值,對應的寫法爲 ${java.runtime.name}

二、版本區分

關於這個版本管理解決的問題是,在Maven創建項目和引用別人項目的時候,我們都看到過如下內容:

這裏面有兩個單詞,SNAPSHOT和RELEASE,它們所代表的含義是什麼呢?

我們打開Maven倉庫地址https://mvnrepository.com/

在我們jar包的版本定義中,有兩個工程版本用的比較多:

  • SNAPSHOT(快照版本)

    • 項目開發過程中臨時輸出的版本,稱爲快照版本

    • 快照版本會隨着開發的進展不斷更新

  • RELEASE(發佈版本)

    • 項目開發到一定階段里程碑後,向團隊外部發布較爲穩定的版本,這種版本所對應的構件文件是穩定的

    • 即便進行功能的後續開發,也不會改變當前發佈版本內容,這種版本稱爲發佈版本

除了上面的工程版本,我們還經常能看到一些發佈版本:

  • alpha版:內測版,bug多不穩定內部版本不斷添加新功能

  • beta版:公測版,不穩定(比alpha穩定些),bug相對較多不斷添加新功能

  • 純數字版

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章