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,则多模块构建成功。?
