idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目)
1. 創(chuàng)建父工程
1.1 創(chuàng)建一個新項(xiàng)目
1.1.1 方式一
打開 New Project --> Maven Archetype

1.1.2 方式二
或者 New Project -->New project

新版本idea是 New Project -->Java

1.2 編輯父項(xiàng)目pom.xml文件信息
<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/maven-v4_0_0.xsd">
<!-- 項(xiàng)目基本信息:這里作為聚合工程的父工程 -->
<modelVersion>4.0.0</modelVersion>
<groupId>com.qfx</groupId>
<artifactId>springboot-parentProject</artifactId>
<!-- packaging要設(shè)置為pom -->
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>springboot-parentProject</name>
<description>這是一個基于Maven的SpringBoot聚合項(xiàng)目父工程示例</description>
<!-- 繼承說明:設(shè)置父類,整合第三方常用框架依賴信息(各種依賴信息),這里繼承SpringBoot提供的父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<!-- 設(shè)置公共參數(shù) -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<!-- Maven install 時,測試環(huán)境@Test中如果有中文輸出是亂碼,加上這句話試試 -->
<argLine>-Dfile.encoding=UTF-8</argLine>
</properties>
<dependencies>
<!-- 1.引入springboot核心包,整合SpringMVC Web組件,包含了spring-boot-starter -->
<!-- 實(shí)現(xiàn)原理:Maven依賴?yán)^承關(guān)系,相當(dāng)于把第三方常用Maven依賴信息,在parent項(xiàng)目中已經(jīng)封裝好了 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 2.引入SpringBoot測試場景啟動器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<!-- 指定war包或jar包名稱,以此處為準(zhǔn),否則會帶上版本號 -->
<finalName>${project.name}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>1.3 刪除多余文件
刪除多余的文件,僅保留.idea、.gitignore和pom.xml文件即可

項(xiàng)目結(jié)構(gòu)如下:

2. 創(chuàng)建子工程
2.1 創(chuàng)建一個新項(xiàng)目
選中父項(xiàng)目,右鍵 --> New -->Module...

2.1.1 方式一
選擇Maven Archetype

2.1.1 方式二
選擇 New Module

新版idea選擇New Module下面的Java

項(xiàng)目結(jié)構(gòu)如下:

2.2 查看父項(xiàng)目的pom.xml
可以看到父項(xiàng)目的pom.xml文件中新增了一個<modules></modules>模塊,里面已經(jīng)引用了剛剛創(chuàng)建的子項(xiàng)目

2.3 編寫子項(xiàng)目pom.xml文件信息
<"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">
<!-- 項(xiàng)目基本信息:這里作為聚合工程的子工程 -->
<modelVersion>4.0.0</modelVersion>
<artifactId>springboot-child01</artifactId>
<!-- 打包方式設(shè)置為jar,默認(rèn)jar(可不設(shè)置) -->
<packaging>jar</packaging>
<description>這是一個基于Maven的SpringBoot聚合項(xiàng)目子工程示例</description>
<!-- 設(shè)置父類,,這里繼承springboot-parentProject父工程 -->
<parent>
<groupId>com.qfx</groupId>
<artifactId>springboot-parentProject</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
</project>2.4 Maven視圖展示
如果右側(cè)的Maven部分出現(xiàn)父項(xiàng)目和子項(xiàng)目同級的情況,如下圖:

選中父項(xiàng)目 --> 右鍵 --> Unlink Maven Projects

--> Remove

--> Load Maven Project

可以看到層級可以正常顯示了

3. 測試
3.1 創(chuàng)建子項(xiàng)目啟動類
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class RunAppChild01 {
public static void main(String[] args) {
SpringApplication.run(RunAppChild01.class, args);
}
}
3.2 創(chuàng)建子項(xiàng)目測試類
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("test01")
public class TestController {
@RequestMapping("hello")
public String hello() {
return "Hello world!";
}
}
3.3 編譯項(xiàng)目
點(diǎn)擊父項(xiàng)目的install,如果有很多子項(xiàng)目,就可以省去一個一個編譯的問題

3.4 測試子項(xiàng)目
啟動子項(xiàng)目,然后訪問剛剛編寫的Controller請求

4. 擴(kuò)展
- 重復(fù)第二步"創(chuàng)建子工程",可以創(chuàng)建多個子項(xiàng)目
- 想要同時啟動多個子項(xiàng)目,需要保證每個子項(xiàng)目的端口不一樣,否則啟動會報(bào)端口沖突的錯誤
5.總結(jié)
文章詳細(xì)介紹了如何在idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目),包括創(chuàng)建父工程和子工程、編輯pom.xml文件、編寫代碼和測試,還介紹了如何處理Maven視圖中的層級關(guān)系,并展示了如何同時啟動多個子項(xiàng)目。
到此這篇關(guān)于idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目)的文章就介紹到這了,更多相關(guān)idea創(chuàng)建Springboot聚合項(xiàng)目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot多模塊掃描包問題及解決
- SpringBoot多模塊自動配置失效問題的解決方案
- SpringBoot多模塊如何統(tǒng)一管理
- 多模塊的springboot項(xiàng)目發(fā)布指定模塊的腳本方式
- SpringBoot多模塊搭建的實(shí)現(xiàn)示例
- springboot的maven多模塊混淆jar包的實(shí)現(xiàn)方法
- springboot項(xiàng)目父子多模塊打包方式
- SpringBoot多模塊打包部署Docker的項(xiàng)目實(shí)戰(zhàn)
- springboot結(jié)合maven實(shí)現(xiàn)多模塊打包
- SpringBoot單體多模塊項(xiàng)目環(huán)境搭建
相關(guān)文章
深入理解Java設(shè)計(jì)模式之狀態(tài)模式
這篇文章主要介紹了JAVA設(shè)計(jì)模式之職責(zé)鏈模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解2021-11-11
Java如何使用multipartFile對象解析Execl
本文介紹了如何使用Spring的MultipartFile類解析Excel文件(.xls和.xlsx),包括文件上傳、數(shù)據(jù)校驗(yàn)、輸入流獲取、文件解析、數(shù)據(jù)保存和異常處理的詳細(xì)步驟2025-02-02
MyBatis-Plus實(shí)現(xiàn)多數(shù)據(jù)源的示例代碼
這篇文章主要介紹了MyBatis-Plus實(shí)現(xiàn)多數(shù)據(jù)源的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
SpringBoot2.X Kotlin系列之?dāng)?shù)據(jù)校驗(yàn)和異常處理詳解
這篇文章主要介紹了SpringBoot 2.X Kotlin系列之?dāng)?shù)據(jù)校驗(yàn)和異常處理詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
Spring Boot Admin(監(jiān)控工具)的使用
今天我們將會講解一個優(yōu)秀的監(jiān)控工具Spring Boot Admin。 它采用圖形化的界面,讓我們的Spring Boot管理更加簡單,需要的朋友可以參考下2020-02-02
Dify調(diào)用Java的三種實(shí)現(xiàn)方式
在一些復(fù)雜的業(yè)務(wù)中,我們可能需要使用?Dify?調(diào)用外部程序(如?Java?程序),因?yàn)檫@樣才能滿足業(yè)務(wù)的特殊需求,那么問題來了,使用?Dify?調(diào)用?Java?程序的實(shí)現(xiàn)方式有哪些呢?今天我們就來盤點(diǎn)一下,需要的朋友可以參考下2025-06-06

