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


    环境:

    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有可能遇到这种情况。

  • 相关阅读:
    Mybaitis入门基础(一)MyBatis的概念引入及工作原理
    vue2个人博客项目遇到的问题
    前端面试 算法与数据结构篇
    SQL练习:表妹不在,没人帮我查表,只好自己来了
    生成式 AI 如何释放开发者的生产力?
    CountDownLatch的原理
    【企业架构】什么是数据架构? 管理数据的框架
    【毕业设计】基于单片机的录音器设计与实现 - 物联网 嵌入式 stm32
    坚持100天学习打卡Day1
    【Pytorch深度学习实战】(11)变分自动编码器(VAE)
  • 原文地址:https://blog.csdn.net/qq_26834611/article/details/126454859