本项目全程使用idea 编辑器。
一、创建父模块
-
点击File --> New --> Progect 选项
image.png
在弹出页面中用户可根据自己的需求创建父模块的类型;
-
选择Maven 则父模块有Pom文件的工程,如果选择 Empty project 则创建一个空的 父模块。
本项目需要创建一个 含有pom 文件的 父模块,则选择 Maven模块,然后点击下一步Next 。
image.png -
写入对应的包名称、工程名等
image.png -
检查是否需要调整项目名(idea自动生成名称不一定是你需要的),点击Finish 。
image.png -
如下为创建的父模块的结构。
image.png -
由于父模块不需要写代码,因此删除src 目录。
image.png
二、 修改 父pom 文件
在父pom文件中添加如下配置:
<!-- 初次常见父模块 添加如下start -->
<!--父模块打包类型必须为pom-->
<packaging>pom</packaging>
<!-- 继承说明:这里继承SpringBoot提供的父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!-- 公用包放到父模块中 -->
<dependencies>
<!-- 该模块需要启动web服务,需要该依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 从spring 的仓库中下载没有发布的依赖,不需要可以不用配置 -->
<!-- 有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,
并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 -->
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<!-- spring 插件 -->
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- 初次常见父模块 添加如下end -->
完整配置如下:
<?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>com.dongl</groupId>
<artifactId>blog_pro</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 初次常见父模块 添加如下start -->
<!--父模块打包类型必须为pom-->
<packaging>pom</packaging>
<!-- 继承说明:这里继承SpringBoot提供的父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!-- 公用包放到父模块中 -->
<dependencies>
<!-- 该模块需要启动web服务,需要该依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 从spring 的仓库中下载没有发布的依赖,不需要可以不用配置 -->
<repositories>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<!-- spring 插件 -->
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>http://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- 初次常见父模块 添加如下end -->
</project>
三、 创建子模块
-
选中父目录右键并创建子模块(普通子模块)
image.png -
选择Maven,jdk点击Next;
image.png -
填写 子模块名称 blog_common ,点击Next 。
image.png -
填写 模块名称,模块路径,点击 Finish。
image.png -
子模块结构如下。
image.png