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

Grails 4开发中IntelliJ IDEA 19修改代码后全量编译耗时过长求助

IntelliJ IDEA 19 + Grails 4 后端代码修改触发全量重启的解决方案

1. IDEA 运行配置调整

  • 打开IDEA的 Run/Debug Configurations 面板,找到当前运行Grails项目的配置项
  • 取消勾选 On 'Update' action 下的 Restart server 选项,修改为 Update classes and resources
  • 勾选 On frame deactivation 选项,设置为 Update classes and resources
  • 保存配置后重启一次项目生效

2. Grails 项目配置调整

  • 打开项目根目录下的 grails-app/conf/application.yml 文件,添加如下配置:
    grails:
      agents:
        reloading:
          enabled: true
      spring:
        devtools:
          restart:
            enabled: false
    
  • 若使用Gradle作为构建工具,打开 build.gradle 文件,添加开发者工具依赖开启动态重载能力:
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    
  • 确认 build.gradle 中无强制全量编译配置,删除 grails { compile { all = true } } 这类配置项

3. IDEA 全局编译配置调整

  • 打开 File -> Settings -> Build, Execution, Deployment -> Compiler 面板,勾选 Build project automatically 选项
  • 按住 Ctrl+Shift+Alt+/ 选择 Registry,找到并勾选 compiler.automake.allow.when.app.running 选项,保存后关闭Registry
  • 打开 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle,将 Build and run using 选项修改为 IntelliJ IDEA,避免Gradle触发全量构建

4. 特殊场景说明

  • Domain类修改涉及数据库表结构变更时默认会触发重启,若无需自动同步表结构,可在 application.yml 中设置 grails.hibernate.ddl-auto: none 关闭自动DDL,即可实现Domain类代码逻辑的动态重载
  • 若修改的是包含依赖注入注解的类,第一次修改后可按 Ctrl+F10 手动触发更新,后续修改即可自动重载
  • 配置调整完成后建议清空IDEA缓存并重启:File -> Invalidate Caches / Restart,避免旧缓存导致配置不生效

内容的提问来源于stack exchange,提问作者Abhisek Mohanty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:15:07