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

Grails 6.1.2升级后无法生成指定环境WAR文件的问题咨询

Grails 6.1.2 生成指定环境WAR文件问题解决

1. 指定环境生成WAR的正确命令

Grails 6完全基于Gradle构建,原grailsw <env> war的语法已废弃。要指定环境打包WAR,直接给gradlew添加环境参数即可:

  • Linux/macOS环境:
    ./gradlew -Dgrails.env=test war
    
  • Windows PowerShell环境:
    ./gradlew.bat -Dgrails.env=test war
    

将命令中的test替换为你需要的环境名(如prod)即可。

2. 解决gradlew生成WAR与旧版差异大的问题

差异源于Grails 6对Gradle构建流程的重构,可通过以下方式调整对齐:

  • 打开build.gradle文件,检查war代码块的配置,迁移原Grails 5中的打包规则,比如排除冗余依赖、指定资源目录:
    war {
        // 排除不需要的依赖包
        exclude '**/unused-library.jar'
        // 自定义资源打包范围
        from('src/main/webapp') {
            include '**/*.html'
            include '**/*.js'
        }
    }
    
  • 核对grails-app/conf/application.yml(或application.groovy)中的环境配置,确保各环境(如test、prod)的数据源、资源路径等配置与之前版本一致,无遗漏或错误。

3. grails test war报错原因说明

Grails 6的CLI命令语法已调整,test war并非有效命令。要构建测试环境的WAR包,直接使用上述带环境参数的gradlew命令即可,无需通过Grails CLI的该写法。

内容的提问来源于stack exchange,提问作者Raymond Holguin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 23:20:58