2016-06-15 4 views
2

Я поместил некоторые javaOptions в build.sbt, которые используются во время выполнения тестов. Они работают как ожидалось.Использовать javaOptions из build.sbt во время выполнения

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

Пробовали ли вы, не упоминая ничего подобного 'javaOptions + = "-Duser.timezone = UTC"'? –

ответ

1

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

Смежные вопросы