【项目搭建】SpringBoot多模块项目搭建

21 篇文章 0 订阅
20 篇文章 0 订阅

环境:

Windows11,JDK11,SpringBoot2.7.3,idea2021.2,maven3.6.3(过程中使用3.8.x,有一些比较恶心的问题,换回了老版本)

完整步骤:

1. 创建父工程

Idea: File->New Project -> Spring Initializr -> 

选择SpringBoot版本,2022年了,直接选择2.4以后的版本,这里直接选择比较心得2.7.3,SpringInitializr 直接创建空工程,也可以直接创建一个maven工程,看个人习惯。

删除 .mvn HELP.md mvnw mvnw.cmd这几个文件, 只保留:.idea 文件夹 、项目 pom 文件、以及一个 *.iml 文件。
注意: 因为父模块只做依赖管理,不需要编写代码,所以 src 文件夹可以直接删除。注意,不要删除.iml,这个是一个idea的项目配置文件,如果误删除,可以通过mvn idea:idea重新生成。

2. 新增子模块

这里增加4个模块,分别是web,rest,service,dao

右键项目->New->Module

个人习惯,name包含项目名,并且local去掉项目前缀,package,增加项目名称。也可以用其他方案,都行。增加的时候,也可以直接创建一个maven工程,看个人习惯。

 把其他子模块都创建出来,删除多余目录和文件,每一个模块只保留src下的java路径,pom.xml文件,即可,如下图: 

 3. 处理父工程Pom.xml

(1) 确保

packaging 为 pom

 

 添加各个子模块modules->module,添加dependencyManageMent,进行统一版本管理,管理后,子模块可以直接无版本号方式引入对应的依赖。

删除build

 5. 子工程Pom修改,将parent修改为父工程 

删除多余build,dependency,后边按需导入

6. web 启动类处理

指定 SpringBootApplication的 scanBasePackages 或者 将启动类往外提一层,确保组件会被扫描到。

常见问题处理:

1. Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.3:repackage (repackage) on project gateway-rest: Execution repackage of goal org.springframework.bo
ot:spring-boot-maven-plugin:2.7.3:repackage failed: Unable to find main class -> 

解决方案: 检查下子模块pom.xml,是否有多个build脚本。剔除多余的

表面上看起来是main方法没找到,实际上是多个build,除非有过main方法所在的类,目录变更

2. 子项目引入jar包不指定version,无法正确导入。

第一个可能,maven设置不对。有可能是idea项目的maven配置不正确,或者版本太高了,使用3.8.x有可能遇到这种情况。

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是创建多模块 Spring Boot 工程的步骤: 1. 创建一个空的 Gradle 项目 在命令行中执行以下命令: ``` mkdir myproject cd myproject gradle init --type java-library ``` 这将创建一个名为 `myproject` 的文件夹,并在其中创建一个空的 Gradle 项目。 2. 添加 Spring Boot 插件 在 `build.gradle` 文件中添加 Spring Boot 插件: ``` plugins { id 'org.springframework.boot' version '2.5.0' } apply plugin: 'io.spring.dependency-management' ``` 3. 创建子模块 在 `myproject` 文件夹中创建一个名为 `api` 的子文件夹,并在其中创建一个名为 `build.gradle` 的文件。在 `api/build.gradle` 文件中添加以下内容: ``` plugins { id 'org.springframework.boot' } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' } ``` 这将创建一个名为 `api` 的子模块,并将其配置为使用 Spring Boot。 4. 创建另一个子模块 在 `myproject` 文件夹中创建一个名为 `core` 的子文件夹,并在其中创建一个名为 `build.gradle` 的文件。在 `core/build.gradle` 文件中添加以下内容: ``` plugins { id 'java-library' } dependencies { api project(':api') } ``` 这将创建一个名为 `core` 的子模块,并将其配置为依赖于 `api` 子模块。 5. 配置 settings.gradle 文件 在 `myproject` 文件夹中创建一个名为 `settings.gradle` 的文件,并添加以下内容: ``` rootProject.name = 'myproject' include 'api' include 'core' ``` 这将告诉 Gradle 包含 `api` 和 `core` 两个子模块。 6. 构建项目 在命令行中执行以下命令构建项目: ``` gradle build ``` 构建成功后,你可以在 `api/build/libs` 和 `core/build/libs` 文件夹中找到生成的 JAR 文件。 以上就是使用 Gradle 创建多模块 Spring Boot 工程的步骤。希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值