idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目)
1. 創(chuàng)建父工程
1.1 創(chuàng)建一個(gè)新項(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>這是一個(gè)基于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 時(shí),測(cè)試環(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測(cè)試場(chǎng)景啟動(dòng)器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <!-- 指定war包或jar包名稱,以此處為準(zhǔn),否則會(huì)帶上版本號(hào) --> <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)建一個(gè)新項(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文件中新增了一個(gè)<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>這是一個(gè)基于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)目同級(jí)的情況,如下圖:
選中父項(xiàng)目 --> 右鍵 --> Unlink Maven Projects
--> Remove
--> Load Maven Project
可以看到層級(jí)可以正常顯示了
3. 測(cè)試
3.1 創(chuàng)建子項(xiàng)目啟動(dò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)目測(cè)試類
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)目,就可以省去一個(gè)一個(gè)編譯的問題
3.4 測(cè)試子項(xiàng)目
啟動(dòng)子項(xiàng)目,然后訪問剛剛編寫的Controller請(qǐng)求
4. 擴(kuò)展
- 重復(fù)第二步"創(chuàng)建子工程",可以創(chuàng)建多個(gè)子項(xiàng)目
- 想要同時(shí)啟動(dòng)多個(gè)子項(xiàng)目,需要保證每個(gè)子項(xiàng)目的端口不一樣,否則啟動(dòng)會(huì)報(bào)端口沖突的錯(cuò)誤
5.總結(jié)
文章詳細(xì)介紹了如何在idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目),包括創(chuàng)建父工程和子工程、編輯pom.xml文件、編寫代碼和測(cè)試,還介紹了如何處理Maven視圖中的層級(jí)關(guān)系,并展示了如何同時(shí)啟動(dòng)多個(gè)子項(xiàng)目。
到此這篇關(guān)于idea創(chuàng)建Springboot多模塊項(xiàng)目(聚合項(xiàng)目)的文章就介紹到這了,更多相關(guān)idea創(chuàng)建Springboot聚合項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 從零開始使用IDEA創(chuàng)建SpringBoot項(xiàng)目(圖文)
- IDEA創(chuàng)建SpringBoot的maven項(xiàng)目的方法步驟
- 在IDEA中創(chuàng)建跑得起來的Springboot項(xiàng)目
- 使用IDEA創(chuàng)建SpringBoot項(xiàng)目的方法步驟
- idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目的詳細(xì)教程
- IDEA創(chuàng)建springboot + mybatis項(xiàng)目全過程(步驟詳解)
- 利用IDEA社區(qū)版創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)圖文教程
- IDEA教程創(chuàng)建SpringBoot前后端分離項(xiàng)目示例圖解
- Idea2019創(chuàng)建Springboot Web項(xiàng)目的方法步驟
- 在idea中創(chuàng)建SpringBoot模塊的兩種方式
- IntelliJ IDEA2025創(chuàng)建SpringBoot項(xiàng)目的實(shí)現(xiàn)步驟
相關(guān)文章
Java語(yǔ)言基于無向有權(quán)圖實(shí)現(xiàn)克魯斯卡爾算法代碼示例
這篇文章主要介紹了Java語(yǔ)言基于無向有權(quán)圖實(shí)現(xiàn)克魯斯卡爾算法代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11全面解釋java中StringBuilder、StringBuffer、String類之間的關(guān)系
String的值是不可變的,這就導(dǎo)致每次對(duì)String的操作都會(huì)生成新的String對(duì)象,不僅效率低下,而且大量浪費(fèi)有限的內(nèi)存空間,StringBuffer是可變類,和線程安全的字符串操作類,任何對(duì)它指向的字符串的操作都不會(huì)產(chǎn)生新的對(duì)象,StringBuffer和StringBuilder類功能基本相似2013-01-01Java中l(wèi)ock和tryLock及l(fā)ockInterruptibly的區(qū)別
這篇文章主要介紹了Java中l(wèi)ock和tryLock及l(fā)ockInterruptibly的區(qū)別,文章介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊
這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)sm3加密簽名以及防止重復(fù)攻擊的相關(guān)資料,SM3是簽名算法,和MD5一樣(對(duì)于應(yīng)用層來說),SM4是對(duì)稱加密算法,和AES一樣(對(duì)于應(yīng)用層來說),需要的朋友可以參考下2023-10-10Netty分布式ByteBuf使用directArena分配緩沖區(qū)過程解析
這篇文章主要介紹了Netty分布式ByteBuf使用directArena分配緩沖區(qū)過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03springboot配置nacos的實(shí)現(xiàn)示例
本文將介紹如何在Spring?Boot中配置Nacos,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09