You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Maven多模块项目修改Spring Boot代码需重复执行mvn clean install如何解决?

解决Spring Boot代码修改后无需全量构建即可生效的方案
  • 使用Spring Boot DevTools
    这是官方提供的热部署工具,能自动检测代码变更并快速重启应用或重载类文件:

    1. 在Spring Boot模块的pom.xml中添加依赖:
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
          <scope>runtime</scope>
          <optional>true</optional>
      </dependency>
      
    2. 配置IDE自动编译:比如IntelliJ IDEA中,开启Settings -> Build, Execution, Deployment -> Compiler下的Build project automatically,再按Ctrl+Shift+A搜索Registry,启用compiler.automake.allow.when.app.running选项。
    3. 若需要监听静态资源或自定义路径的变更,可在application.properties中添加配置:spring.devtools.restart.additional-paths=src/main/resources/static(按需调整路径)。
  • 启用Maven增量构建
    Maven默认支持增量构建,避免全量编译:

    1. 不要每次都执行clean命令,直接运行mvn install即可,Maven会仅编译变更过的类文件。如果只修改了单个Spring Boot模块,可指定模块构建:mvn install -pl 你的-spring-boot模块名 -am(-am会自动构建该模块依赖的其他模块)。
    2. 检查模块间依赖配置,避免不必要的跨模块依赖触发全量构建。
  • 单独运行Spring Boot模块
    若Angular和Spring Boot是独立模块,可单独启动Spring Boot模块,无需构建整个项目:

    1. 进入Spring Boot模块的目录,执行mvn spring-boot:run启动应用。结合DevTools,代码变更后会自动重载。
    2. 若Spring Boot依赖其他模块(如公共工具类模块),只需在首次启动前构建依赖模块,后续修改依赖模块时,仅执行mvn install针对该模块,DevTools会自动检测到依赖变更并重启应用。
  • 优化模块依赖关系
    梳理多模块的依赖链,确保Spring Boot模块只依赖必要的模块。比如将实体类、工具类抽离为独立的common模块,Spring Boot仅依赖该模块,而非整个项目的所有模块,减少构建范围。

  • IDE内置热部署支持
    利用IDE自带功能实现热部署:

    • IntelliJ IDEA:运行Spring Boot应用时,点击右上角的Update按钮(或按Ctrl+F10),选择Update classes and resources,即可将变更内容加载到运行中的应用。
    • Eclipse:开启Project -> Build Automatically,修改代码后会自动编译并部署到运行的应用;也可安装JRebel插件增强热部署能力。

内容的提问来源于stack exchange,提问作者Sabin Shrestha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:15:33