Maven系列教材 (十三)- Eclipse 中创建父子-聚合项目

 

步骤1:父子-聚合项目
步骤2:创建父项目
步骤3:选择简单项目
步骤4:输入参数
步骤5:parentMavenProject 的 pom.xml
步骤6:update maven
步骤7:创建子项目
步骤8:简单项目
步骤9:项目参数
步骤10:TestHutool
步骤11:子项目的pom.xml
步骤12:父项目的pom.xml
步骤13:目录结构
步骤14:可运行项目

步骤 1 : 父子-聚合项目

通过 maven 可以创建父子-聚合项目。 所谓的父子项目,即有一个父项目,有多个子项目。
这些子项目,在业务逻辑上,都归纳在这个父项目下,并且一般来说,都会有重复的jar包共享。
所以常用的做法会把重复的 jar 包都放在父项目下进行依赖,那么子项目就无需再去依赖这些重复的 jar 包了。

步骤 2 : 创建父项目

菜单->File->New->Other->maven-Maven Project->Next

创建父项目

步骤 3 : 选择简单项目

选择 Create a simple project. 这一步不是必须,只是简单一点。
然后点击Next

选择简单项目

步骤 4 : 输入参数

输入参数,主要是项目名称: parentMavenProject, 然后点击 Next

输入参数

步骤 5 : parentMavenProject 的 pom.xml

修改pom,主要两点:
1. 默认是 jar, 修改为pom。 这样才可以作为父项目存在。

<packaging>pom</packaging>


2. 增加 hutool jar 包的依赖,用于后来子项目里观察对其的调用。

<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>cn.how2j</groupId>

  <artifactId>parentMavenProject</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <name>parentMavenProject</name>

  <description>parentMavenProject</description>

  <packaging>pom</packaging>

    <dependencies>

      <dependency>

        <groupId>cn.hutool</groupId>

        <artifactId>hutool-all</artifactId>

        <version>4.3.1</version>

      </dependency>

    </dependencies>  

</project>

步骤 6 : update maven

修改 pom.xml 之后, 右键点击项目 -> Maven -> Update Project -> OK 进行更新。 否则项目会有红点~

update maven

步骤 7 : 创建子项目

接下来创建maven 子项目。 maven 子项目有叫做模块 module.
为了能够在 parentMavenProject 的基础上创建其子项目,首先右键点击 parentMavenProject, 然后点击 New -> Other -> Maven -Maven Module -> Next

创建子项目

步骤 8 : 简单项目

和父项目一样,这里也勾选 Craete a simple project ( 非必须 ),然后点 Next

简单项目

步骤 9 : 项目参数

接着点 Finish

项目参数

步骤 10 : TestHutool

运行,现在看到运行效果。
就表示子项目虽然没有依赖jar包,但是通过 父项目达到了依赖的效果。

TestHutool

package childMavenProject;

 

import java.util.Date;

 

import cn.hutool.core.date.DateUtil;

  

public class TestHutool {

  

    public static void main(String[] args) {

        String dateStr = "2012-12-12 12:12:12";

        Date date = DateUtil.parse(dateStr);

        System.out.println(date);

    }

}

步骤 11 : 子项目的pom.xml

这里仅仅是展示出来,可以看到其中有如下parent,就表示是引用父项目 parentMavenProject。

<parent>

  <groupId>cn.how2j</groupId>

  <artifactId>parentMavenProject</artifactId>

  <version>0.0.1-SNAPSHOT</version>

</parent>

<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>

  <parent>

    <groupId>cn.how2j</groupId>

    <artifactId>parentMavenProject</artifactId>

    <version>0.0.1-SNAPSHOT</version>

  </parent>

  <artifactId>childMavenProject</artifactId>

  <name>childMavenProject</name>

  <description>childMavenProject</description>

</project>

步骤 12 : 父项目的pom.xml

再次打开父项目的pom.xml, 会发现其多了一个:

<modules>

    <module>childMavenProject</module>

</modules>


表示其子模块是 childMavenProject

<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>cn.how2j</groupId>

  <artifactId>parentMavenProject</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <name>parentMavenProject</name>

  <description>parentMavenProject</description>

  <packaging>pom</packaging>

    <dependencies>

      <dependency>

        <groupId>cn.hutool</groupId>

        <artifactId>hutool-all</artifactId>

        <version>4.3.1</version>

      </dependency>

    </dependencies>  

    <modules>

        <module>childMavenProject</module>

    </modules>

</project>

步骤 13 : 目录结构

观察目录结构,可以发现 childMavenProject 是位于 parentMavenProject下面的。 所以如果将来有 childMavenProject1, childMavenProject2, childMavenProject3 也会放在这么一个目录下,就方便管理了。

目录结构

步骤 14 : 可运行项目

下载区(点击进入)有本知识点对应的可运行项目下载 ,实在自己搞不出来,就下载解压出来比较一下。


更多内容,点击了解: https://how2j.cn/k/maven/maven-parent-cihld/2050.html

posted @ 2020-04-22 20:38  Lan_ht2  阅读(84)  评论(0编辑  收藏  举报