在我的Config.groovy
我放线:
grails.config.locations = [ "classpath:app-config.properties"]
我为数据源设置了定义。文件看起来像:
dataSource.url=jdbc:mysql://host/instance
dataSource.username=u
dataSource.password=p
并正确替换DataSource.groovy
中的属性。
问题是它取代了每个环境的配置,但我需要为开发,测试和生产单独配置。试图将不同的条目存入文件,如:
environments.development.dataSource.url=jdbc:mysql://host/dev
...
environments.production.dataSource.url=jdbc:mysql://host/prod
...
以DataSource.groovy
中定义的默认数据源属性结束。如何使一个属性文件适用于不同的环境?
答案 0 :(得分:8)
有几种可能的方法。这是一对夫妇:
将当前环境名称嵌入外部配置文件名:
grails.config.locations = [
"classpath:app-${grails.util.Environment.current.name}-config.properties"]
这将导致app-development-config.properties
以开发模式加载,app-test-config.properties
加入测试等等。
使用.groovy
配置格式代替.properties
。使用.groovy
配置文件,您可以使用environment { ... }
块。