Scala 为不同环境交换.properties文件

Scala 为不同环境交换.properties文件,scala,deployment,playframework-2.0,Scala,Deployment,Playframework 2.0,我有一个Play2应用程序,它使用一些外部Java库。其中一些(如Paypal merchant sdk)取决于是否有一个用于配置的属性文件(如sdk\u config.properties),我已将其放入conf目录中 使用playdist将此应用程序部署到不同的环境时,是否有一种明智的方法来交换每个环境的属性文件?对于application.conf中的主配置,这很简单,例如,start-Dconfig.resource=prod.conf,但我不确定如何对属性文件执行类似的操作。指定con

我有一个Play2应用程序,它使用一些外部Java库。其中一些(如Paypal merchant sdk)取决于是否有一个用于配置的属性文件(如
sdk\u config.properties
),我已将其放入
conf
目录中


使用
playdist
将此应用程序部署到不同的环境时,是否有一种明智的方法来交换每个环境的属性文件?对于application.conf中的主配置,这很简单,例如,
start-Dconfig.resource=prod.conf
,但我不确定如何对属性文件执行类似的操作。

指定config.resource(以及许多其他好东西)的支持内置在play附带的typesafe配置库中。其他依赖于类路径上的属性文件的第三方lib可能接受也可能不接受类似的内容,因此如果幸运的话,有一种特定于lib的方法将其指向单独的配置文件

如果没有,那么唯一的选择就是在类路径上为不同的环境提供不同的文件。这基本上可以通过两种方式实现:

A.不随工件一起发送文件,而是按环境提供,并在开始播放时将其添加到类路径上

B.为了为不同的配置创建不同的工件,这需要您定制dist,以便为每个不同的env创建一个工件

我会选择A,因为它允许有一个工件可以在任何地方运行,但它可能会给在dev env中运行应用程序增加一些麻烦