1、idea创建多模块springboot项目
打开idea,创建新项目file->new->project,进入如下页面。

选择SpringInitializr,next 然后进入到设备页面,并如下进行父项目设置如下:

点击Next后进入依赖选择页面,此时先不进行选择,直接Next进入到下一个页面,进入项目信息设置页面如下:

如上设置完,项目名称,保存路径后,点击finish,父项目将会创建完成,目录结构如下:

选中上图中的.mvn文件夹,src文件夹,mvnw文件,mvnw.cmd文件,将这4个删除,删除后目录结构如下。

2、创建多个子模块
在项目名称上点击右键,选中new->module,进行子模块创建。

选择SpringInitializr,next 然后进入到设备页面,设置子模块springBootClient的信息,如下:

然后直接next到设置模块的名称,如下:

点击finish,则第一个子模块创建完成,项目结构如下。

选中上图中的.mvn文件夹,mvnw文件,mvnw.cmd文件,将这3个删除,删除后目录结构如下。

如上创建第一个子模块相同,创建另2个子模块springBootServer,springBootApi。创建完后目录结构如下。

3、配置pom.xml文件。
springBootParent的pom.xml配置后的xml如下,
因父项目只作为管理使用,删除build节点,更改packageing属性为pom,添加项目中的子模块。
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <!--?xml version="1.0" encoding="UTF-8"?--> <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>com.example</groupid> springBootParent</artifactid> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>springBootParent</name> <description>Demo project for Spring Boot</description> <parent> <groupid>org.springframework.boot</groupid> spring-boot-starter-parent</artifactid> <version>2.0.2.RELEASE</version> <relativepath> <!-- lookup parent from repository --> </relativepath></parent> <modules> <module>springBootApi</module> <module>springBootClient</module> <module>springBootServer</module> </modules> <properties> <project.build.sourceencoding>UTF-8</project.build.sourceencoding> <project.reporting.outputencoding>UTF-8</project.reporting.outputencoding> <java.version>1.8</java.version> </properties> <dependencymanagement> <dependencies> </dependencies> </dependencymanagement> </project> |
springBootApi 的pom.xml如下
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <!--?xml version="1.0" encoding="UTF-8"?--> <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>com.example</groupid> springBootApi</artifactid> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springBootApi</name> <description>Demo project for Spring Boot</description> <parent> <groupid>com.example</groupid> springBootParent</artifactid> <version>0.0.1-SNAPSHOT</version> <relativepath>../pom.xml</relativepath> </parent> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> spring-boot-starter</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> </dependencies> </project> |
springBootClient的pom.xml配置文件如下:
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <!--?xml version="1.0" encoding="UTF-8"?--> <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>com.example</groupid> springBootClient</artifactid> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springBootClient</name> <description>Demo project for Spring Boot</description> <parent> <groupid>com.example</groupid> springBootParent</artifactid> <version>0.0.1-SNAPSHOT</version> <relativepath>../pom.xml</relativepath> </parent> <dependencies> <dependency> <groupid>com.example</groupid> springBootApi</artifactid> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupid>org.springframework.boot</groupid> spring-boot-starter</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build> </project> |
springBootServer的pom.xml的配置文件如下:
?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <!--?xml version="1.0" encoding="UTF-8"?--> <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>com.example</groupid> springBootServer</artifactid> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springBootServer</name> <description>Demo project for Spring Boot</description> <parent> <groupid>com.example</groupid> springBootParent</artifactid> <version>0.0.1-SNAPSHOT</version> <relativepath>../pom.xml</relativepath> </parent> <dependencies> <dependency> <groupid>com.example</groupid> springBootApi</artifactid> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupid>org.springframework.boot</groupid> spring-boot-starter</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> spring-boot-maven-plugin</artifactid> </plugin> </plugins> </build> </project> |
自此,springboot多模块搭建完成,通过mvn进行编译测试。
通过idea maven projects 点击springBootParent ->lifecycle->clean->compile.若结果为[INFO] BUILD SUCCESS,则多模块构建成功。?
