天天看點

Maven對jar包版本統一管理

在父級子產品的pom.xml檔案下

建立dependencies節點,直接添加在dependencies節點的中的依賴是每個子子產品項目都直接擁有的, 簡單來說 ,如果一個子子產品它的父級子產品為parent 在parent子產品中的pom.xml檔案 下中的dependencies節點下的所有依賴,子子產品同樣擁有,無需再引入依賴!

<properties>
    <!-- Java Version -->
    <java.version>1.8</java.version>
    <!-- Dependency Version -->
    <spring.boot.starter.version>2.3.1.RELEASE</spring.boot.starter.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>${spring.boot.starter.version}</version>
    </dependency>
</dependencies>      

添加依賴時不再指定版本,而是将版本在properties節點中指定版本号,做版本統一管理

子子產品依賴管理

圖為父級子產品的pom.xml ,代表着此父級子產品擁有兩個子子產品

Maven對jar包版本統一管理

在modules子子產品中的項目中如需要使用dependencies節點下的依賴時,子子產品的pom.xml将不需要添加任何依賴

父子子產品配置

在父級子產品pom.xml檔案,建立dependencyManagement節點,此節點中的依賴隻是為了管理子子產品項目使用依賴時的版本

<dependencyManagement>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
        <version>${lombok.version}</version>
    </dependency>
</dependencyManagement>      

如上所示,如果子子產品也需要此依賴,隻需要将此依賴配置在子子產品的pom.xml檔案下的dependencies節點下,且無需再配置version節點,這樣此依賴使用的版本号同為父級子產品配置的

子子產品的依賴配如下:

<dependencies>
  <dependency>
     <groupId>org.projectlombok</groupId>
     <artifactId>lombok</artifactId>
     <optional>true</optional>
  </dependency>
</dependencies>