有没有办法在playframework';s application.conf?

有没有办法在playframework';s application.conf?,playframework,Playframework,有没有办法在游戏中使用环境变量!application.conf文件?大概是这样的: %prod.db.url=${env.DATABASE_JDBC_URL} %prod.db.driver=org.postgresql.Driver %prod.jpa.ddl=validate 我不想在我的application.conf中硬编码URL,因为它包含开发人员不应该访问的凭据。我也有同样的问题。我的解决方案: 让application.conf仅包含本地开发的属性,并将其存储在开发团队的VC

有没有办法在游戏中使用环境变量!application.conf文件?大概是这样的:

%prod.db.url=${env.DATABASE_JDBC_URL}
%prod.db.driver=org.postgresql.Driver
%prod.jpa.ddl=validate

我不想在我的application.conf中硬编码URL,因为它包含开发人员不应该访问的凭据。

我也有同样的问题。我的解决方案:

  • 让application.conf仅包含本地开发的属性,并将其存储在开发团队的VCS(SVN、Git等)中
  • 在application.conf文件中添加一行:“@include.prod=prod.conf”
  • prod.conf文件仅包含%prod.*属性
  • 直接在prod server上创建文件prod.conf(或者将其存储在与应用程序不同的VCS中,只有允许的人才能读/写)
这对我来说很好

它只是在应用程序启动时为开发团队添加一条消息:

ex:20 mai 2011 21:09:16播放。记录器警告注意:缺少include:@include.prod

真的没问题。只需通知您的开发团队此消息不是问题,并且不要删除application.conf中的“@include.prod”行


希望有帮助

使用以下来源解析${}中的所有变量:

  • ${application.path}相当于Play.applicationPath.getAbsolutePath()
  • ${play.path}相当于play.frameworkPath.getAbsolutePath()
  • 任何其他属性都来自System.getProperty

因此,您可以在启动Play时将这些参数添加为-Dkey=name参数!使用特定于您的环境的机密凭据

${ENV_VARIABLE_KEY}
解析环境中设置的任何变量。您不必指定“env.”前缀,除非它是密钥的一部分

我不明白你怎么能隐瞒这些信息?如果您可以访问env变量,这意味着您可以读取它的值,不是吗?是的。这是一个新的功能添加到发挥后,我张贴了我原来的问题。非常酷。我尝试添加第一个要点,但出现了运行时异常:
无法将替换解析为值:${application.path}