构建聚合工程

322 阅读1分钟

创建父工程

  • 打开idea 新建maven项目 不要勾选 Create from archetype
  • 输入groupId com.xxx 输入ArtifactId xxx 输入版本号 下一步
  • 输入项目名 选择保存路径 finish
  • 打开pom.xml 添加packaging标签
<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.njzy</groupId>
    <artifactId>food</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--  聚合工程父工程加上这个  -->
    <packaging>pom</packaging>
</project>

创建common子工程

  • 选中父工程 右键 新建 module
  • 和创建父工程一样创建 会多出一个Parent选项 GroupId不可改 输入ArtifactId 完成

图1.png

  • 打开pom.xml 多出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">
    <parent>
        <artifactId>food</artifactId>
        <groupId>cn.njzy</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <!--  默认打包方式 不写可以  -->
    <packaging>jar</packaging>
    <artifactId>common</artifactId>
</project>
  • 打开父工程的pom.xml 多出modules标签
<modules>
    <module>common</module>
</modules>
  • 同样的方法创建pojo子模块 并且依赖common
<?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">
    <parent>
        <artifactId>food</artifactId>
        <groupId>cn.njzy</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>pojo</artifactId>
    <dependencies>
        <dependency>
            <groupId>cn.njzy</groupId>
            <artifactId>common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

图2.png

  • 同样的方法创建mapper子模块 并依赖pojo 因为pojo依赖common 所以mapper也可以使用common
  • 继续创建service子模块 并依赖mapper
  • 继续创建controller 依赖service
  • controller -> service ->mapper -> pojo -> common
  • 最后父工程的模块需要包涵所有子模块
<modules>
    <module>common</module>
    <module>pojo</module>
    <module>mapper</module>
    <module>service</module>
    <module>controller</module>
</modules>
  • 最后需要安装一下依赖才能生效

图3.png