爲什麼要使用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>