grails - 如何在 grails 中扩展每个环境的配置

标签 grails environment config

根据环境配置,似乎只有 grails.serverURL 和 grails.path 被识别。 bla 和 foo 被忽略,无法在应用程序中使用 任何人都可以解决这个问题并提供一种为每个环境配置 bla 和 foo 的方法吗?

environments {
    production {
        grails.serverURL = "http://alpha.foo.de"
        grails.path = ""
        bla = "text"
        foo= "word"
    }
    test {
        grails.serverURL = "http://test.foo.de"
        grails.path = ""
        bla = "othertext"
        foo= "otherword"
    }
}

最佳答案

从 Grails 3.0 开始,Groovy 或 YAML 语法都可以使用。新的主应用程序配置文件是 /conf/application.yml 但您可以继续使用现有的 groovy 配置定义 /conf/application.groovy 文件。

这是每个环境的数据源定义示例(在 YAML 中):

environments:
    development:
        dataSource:
            dbCreate: create-drop
            url: jdbc:h2:mem:devDb
    test:
        dataSource:
            dbCreate: update
            url: jdbc:h2:mem:testDb
    production:
        dataSource:
            dbCreate: update
            url: jdbc:h2:prodDb
    myenv:
        dataSource:
            dbCreate: update
            url: jdbc:h2:myenvDb

要在特定环境中运行 grails 命令,您可以使用:

grails [environment] [command name]

要针对不同于开发、测试和生产的环境,您可以使用:

grails -Dgrails.env=myenv run-app

请参阅grails environment documentationthis example application了解更多信息。

关于grails - 如何在 grails 中扩展每个环境的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868284/

相关文章:

grails - 将用户从php URL重定向到grails页面

bash - bash 是否有办法在不取消设置的情况下取消导出变量?

mpi - Linux 环境模块或 Conda 环境

osgi - 从 Java 访问 Karaf cfg 文件中的属性?

hibernate - 给定Grails/Hibernate中的条件,查看数据库中是否存在实体的最佳方法

grails - Grails插件获取同一版本的升级和降级消息

python - python shebangs 与/usr/bin/env 而不是硬路径有什么区别?

Ruby Rack - 安装一个默认读取 index.html 的简单 Web 服务器

java - -server 'default' 在配置文件中是未知服务器

grails - Grails withCriteria查询中的eq和==之间的区别