创建父工程
- 打开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