IDEA 中搭建 Spring Boot Maven 多模块项目 (父SpringBoot+子Maven)

第1步:新建一个SpringBoot 项目 作为 父工程

[Ref] 新建一个SpringBoot项目

删除无用的 .mvn 目录、 src 目录、 mvnwmvnw.cmd 文件,最终只留 .gitignorepom.xml

第2步:创建 子maven模块


第3步:整理 父 pom 文件

① 删除 dependencies 标签及其中的 spring-boot-starterspring-boot-starter-test 依赖,因为 Spring Boot 提供的父工程已包含,并且父 pom 原则上都是通过 dependencyManagement 标签管理依赖包。

② 删除 build 标签及其中的所有内容,spring-boot-maven-plugin 插件作用是打一个可运行的包,多模块项目仅仅需要在 入口类所在的模块 添加打包插件,这里父模块不需要打包运行。而且该插件已被包含在 Spring Boot 提供的父工程中,这里删掉即可。

③ 最后整理父 pom 文件中的其余内容,按其代表含义归类,整理结果如下:

xml 复制代码
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<!-- 基本信息 -->
	<modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
	<name>ParentSpringBoot</name>
	<description>ParentSpringBoot</description>

	<!-- 项目说明:这里作为聚合工程的父工程 -->
	<groupId>com.example</groupId>
	<artifactId>ParentSpringBoot</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- 继承说明:这里继承Spring Boot提供的父工程 -->
    <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.2.1</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<!-- 模块说明:这里声明多个子模块 -->
	<modules>
		<module>module1</module>
	</modules>

	<!-- 属性说明 -->
	<properties>
		<java.version>17</java.version>
	</properties>
</project>

第4步:添加入口类

选择某个module添加入口类

xml 复制代码
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
java 复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

第5步:配置模块间的依赖关系

xml 复制代码
<properties>
    <java.version>17</java.version>
    <module1.version>0.0.1-SNAPSHOT</module1.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>module1</artifactId>
            <version>${module1.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

第6步:启动SonApplication

参考

IDEA 中搭建 Spring Boot Maven 多模块项目

相关推荐
kirito学长-Java1 小时前
springboot/ssm网上宠物店系统Java代码编写web宠物用品商城项目
java·spring boot·后端
键盘侠0071 小时前
springboot 上传图片 转存成webp
android·spring boot·okhttp
AI人H哥会Java2 小时前
【Spring】基于XML的Spring容器配置——<bean>标签与属性解析
java·开发语言·spring boot·后端·架构
计算机学长felix2 小时前
基于SpringBoot的“大学生社团活动平台”的设计与实现(源码+数据库+文档+PPT)
数据库·spring boot·后端
sin22012 小时前
springboot数据校验报错
spring boot·后端·python
秋夫人3 小时前
IntelliJ IDEA 中 Editor > General > Appearance 设置:编辑器的视觉外观和行为
java·编辑器·intellij-idea
梓沂3 小时前
idea配置gitee仓库
java·gitee·intellij-idea
大大怪将军~~~~4 小时前
SpringBoot 入门
java·spring boot·后端
安然望川海4 小时前
springboot 使用注解设置缓存时效
spring boot·后端·缓存
计算机学长felix4 小时前
基于SpringBoot的“在线BLOG网”的设计与实现(源码+数据库+文档+PPT)
spring boot·毕业设计