Maven創建多模塊(父子聚合)項目

通過 maven 可以創建父子-聚合項目。 所謂的父子項目,即有一個父項目,有多個子項目。
這些子項目,在業務邏輯上,都歸納在這個父項目下,並且一般來說,都會有重複的jar包共享。
所以常用的做法會把重複的 jar 包都放在父項目下進行依賴,那麼子項目就無需再去依賴這些重複的 jar 包了。

1. 使用IDEA創建maven項目

創建的maven項目就是父項目,一般只提供給子項目依賴並將子項目進行聚合,並不會實際的寫代碼

創建之後要在pom.xml中添加

<!--包爲pom,即父子聚合項目-->
<packaging>pom</packaging>				 

完整pom.xml爲:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>lsl</groupId>
    <artifactId>maven-modulesProject</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--包爲pom,即父子聚合項目-->
    <packaging>pom</packaging>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.3.1</version>
        </dependency>
    </dependencies>

</project>

2.創建子項目maven module創建子項目

子項目就是實際要寫代碼的項目,創建Maven項目時可使用快速原型 org.apache.maven.archetypes:maven-archetype-quickstart 進行創建,也可以手動更改父子項目的pom.xml設置項目間的父子依賴關係

選擇maven項目

在子項目中進行一次測試:

import cn.hutool.core.date.DateUtil;
import java.util.Date;
public class App 
{
    public static void main(String[] args) {
        String dateStr = "2012-12-12 12:12:12";
        Date date = DateUtil.parse(dateStr);
        System.out.println(date);
    }
}

在子項目的pom.xml中並沒有導入cn.hutool依賴但仍然能夠使用

3.父子項目中的pom.xml

觀察子項目中的pom.xml爲:

<!--父類--> 
<parent>
        <artifactId>maven-modulesProject</artifactId>
        <groupId>lsl</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
<!--模塊版本與模塊名-->
    <modelVersion>4.0.0</modelVersion>

    <artifactId>childMavenProject</artifactId>

在看一下父項目的pom.xml:

    <groupId>lsl</groupId>
    <artifactId>maven-modulesProject</artifactId>
    <version>1.0-SNAPSHOT</version>
<!--所包含模塊-->
    <modules>
        <module>childMavenProject</module>
    </modules>

子項目中多出來了標籤<parent>,父項目中多出了標籤<modules>,這兩種標籤即代表了父子項目之間的邏輯依賴關係,其它標籤也相應改變,通過掃描父母錄以及子目錄生成邏輯關係並完成功能

無論用什麼工具,使用maven最關鍵的還是在於配置文件pom.xml,創建父子項目的關鍵在於標籤<parent>、

<modules>、<module>、 <groupId>、<artifactId>、<version>、<modelVersion>,定義好了邏輯關係即可

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