当进行团队合作开发时,不同开发者可能会在 application.conf 里使用不同的配置值,比如日志级别或数据库配置,当提交到 VCS 时就会导致冲突发生。
另外,不同的部署环境,需要不同的配置,比如:dev, test, staging 和 production。
21.1. 框架 id(framework ID)
为了解决这个问题,play 允许你得到每个已经安装 play 框架的 id,使用如下命令可以定义框架 ID:
play id
然后就可以在配置 keys 上加上带有框架 id 的前缀:
application.name=Cool app
application.mode=dev
application.log=INFO
# Configuration for gbo
%gbo.application.log=DEBUG
%gbo.db=mem
# Configuration for src
%scr.http.port=9500
# Production configuration
%prod.http.port=80
%prod.application.log=INFO
%prod.application.mode=prod
21.2. 从命令行设置框架 id
通过另外一个命令可以直接给框架指定一个 id,比如下面这个用于生产模式的应用程序:
play run --%production
这里,在 application.conf 文件里增加以下两行:
application.mode=dev
%production.application.mode=prod
这个命令兼容所有使用框架 id 的命令,默认的 id 定义仍旧使用 play id 命令。
以此类推, play test 等价于:
play run --%test