加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – Play Framework:配置系统属性

发布时间:2020-12-16 18:28:19 所属栏目:安全 来源:网络整理
导读:在Play框架(2.2.1 sbt 0.13)中,我有一个IntegrationSpec,可以调出一个TestServer.我需要能够为TestServer设置SSL特定的系统属性.到目前为止,我能够正确设置它的唯一方法是将它们作为命令行属性传递,如下所示 play -Djavax.net.ssl.keyStore=... -Djavax.net.
在Play框架(2.2.1& sbt 0.13)中,我有一个IntegrationSpec,可以调出一个TestServer.我需要能够为TestServer设置SSL特定的系统属性.到目前为止,我能够正确设置它的唯一方法是将它们作为命令行属性传递,如下所示

play -Djavax.net.ssl.keyStore=... -Djavax.net.ssl.keyStorePassword=.... -D... test

我希望测试只使用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")

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

play -Dconfig.file=conf/application.test.conf test

TestServer确实使用了application.test.conf,但没有使用文件中配置的系统属性(javax.net.ssl.keyStore =“…”等).

所以我有两个问题

>如何仅使用游戏测试运行? . (我不想在TestServer中将长属性Map传递给FakeApplication).
>当我运行play -Dconfig.file = conf / application.test.conf test时,为什么application.test.conf中配置的系统属性没有被使用?

解决方法

我不确定这是否适用于设置读取配置文件的属性,但您可以使用System.setProperty设置各个属性,如下所示:

System.setProperty("application.secret","psssst!")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读