Play Framework:配置系统属性

Pra*_*nna 5 scala sbt playframework

在游戏框架(2.2.1&sbt 0.13)中,我有一个IntegrationSpec提出了一个TestServer.我需要能够为.设置SSL特定的系统属性TestServer.到目前为止,我能够正确设置它的唯一方法是将它们作为命令行属性传递,如下所示

play -Djavax.net.ssl.keyStore=... -Djavax.net.ssl.keyStorePassword=.... -D... test
Run Code Online (Sandbox Code Playgroud)

我希望测试只是简单地运行play test.为了在Build.scala中,我配置了SBT javaOptions,如下所示

val main = play.Project(appName, appVersion, appDependencies).settings(
    Keys.fork in Test := false,
    javaOptions in Test += "-Dconfig.file=conf/application.test.conf")
Run Code Online (Sandbox Code Playgroud)

在application.test.conf中,我设置了所有系统属性.有了它,TestServer甚至没有使用application.test.conf.我无法弄清楚原因.所以我想我会尝试以下方法:

play -Dconfig.file=conf/application.test.conf test
Run Code Online (Sandbox Code Playgroud)

TestServer那样使用application.test.conf,但正在使用没有一个文件中配置的系统性能(javax.net.ssl.keyStore ="..."等)的.

所以我有两个问题

  1. 如何只运行这个运行play test?.(我不想长地图特性传递给FakeApplicationTestServer).
  2. 当我运行时play -Dconfig.file=conf/application.test.conf test,为什么配置的系统属性application.test.conf没有被使用?

Arn*_*sen 1

我不确定这是否适用于设置用于读取配置文件的属性,但您可以System.setProperty像这样设置您的个人属性:

System.setProperty("application.secret","psssst!")
Run Code Online (Sandbox Code Playgroud)