我在build.sbt中放了一些javaOptions,它们在运行测试时使用。这些都按预期工作。
javaOptions in Test += "-Dconfig.file=conf/test.conf"
javaOptions in Test += "-Duser.timezone=UTC"
我想在运行时使用类似的东西。我尝试了以下内容,但根本不起作用:
javaOptions in Runtime += "-Duser.timezone=UTC"
javaOptions in run += "-Duser.timezone=UTC"
我正在使用“激活器测试”和“激活器运行”从命令行运行测试/应用程序。 由于javaOptions不起作用,唯一的另一个选择是在命令行中将它们传递为:“激活器运行-Duser.timezone = UTC ”。我不想传递命令行参数。
答案 0 :(得分:2)
javaOptions
仅适用于分叉的JVM。
> help javaOptions
Options passed to a new JVM when forking.
它在您的测试中工作的原因是Playframework默认在并行的分叉JVM中运行您的测试。
> show test:fork
[info] true
如果您想为运行任务实现此目的,您也可以使用分叉JVM。将以下内容添加到build.sbt
文件中:
fork in run := true
有关详细信息,请参阅SBT文档中的分叉章节:http://www.scala-sbt.org/0.13/docs/Forking.html