zoukankan      html  css  js  c++  java
  • 在eclipse中创建父子-聚合项目

    1)父子-聚合项目

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

    2)创建父项目

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

     3)选择简单项目

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

     4)输入参数

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

     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>top.xk</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 进行更新。 否则项目红点一直在~

     7)创建子项目

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

     8)简单项目

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

    9)项目参数

    接着点 Finish

    10)TestHutool

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

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

    11)子项目的pom.xml

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

     <parent>
        <groupId>top.xk</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>top.xk</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>top.xk</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)可运行项目

  • 相关阅读:
    SDN第二次作业
    事后诸葛亮
    SDN第一次上机作业
    个人作业——软件产品案例分析
    SDN第一次作业
    Alpha冲刺总结报告
    Alpha冲刺Day10
    Alpha冲刺Day9
    Alpha冲刺Day8
    Alpha冲刺Day7
  • 原文地址:https://www.cnblogs.com/xk920/p/11635969.html
Copyright © 2011-2022 走看看