maven的統一版本管理實踐

爲什麼要使用maven的統一版本管理?

在進行項目開發的時候,我們使用maven來做項目的構建和管理。爲了方便項目中各個模塊之間的複用,項目通常會有多個模塊構成。不同的模塊,會各自應用自己需要的jar包依賴,就會導致不同的模塊引用了不同版本的jar包依賴,從而出現兼容性問題。還有爲了方便版本的統一升級維護,防止部分模塊的依賴升級,導致項目中的多個版本的同名jar。基於這些原因,使用maven的統一版本管理就可以解決類似的問題。

代碼示例

父 pom.xml配置示例

通常會寫一組 標籤,在標籤中定義好版本號。

 <properties>
    <jackson.version>2.8.10</jackson.version>
    <tk.mybatis.version>4.0.0</tk.mybatis.version>
 </properties>

使用${jackson.version}就可以引用上邊定義的版本號

<dependencyManagement>
 <dependencies>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper</artifactId>
        <version>${tk.mybatis.version}</version>
      </dependency>
 </dependencies>
</dependencyManagement>

子 pom.xml配置示例

子模塊引用父模塊的版本方法 直接寫groupId、artifactId就可以,版本就可以自動引用

  <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-core</artifactId>
  </dependency>

爲什麼用SNAPSHOT?

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