Как установить системное свойство для jetty () xsbt-web-plugin?
Я перенес свой проект на 0.13.5 и начал использовать xsbt-web-plugin.
Я хотел бы настроить logback для использования файла конфигурации вне classpath, который устанавливается системным свойством logback.configurationFile
(так что я могу сохранить logconfig вне файла войны).
Ранее я бы просто установил:
System.setProperty("logback.configurationFile", "/some/path/logback.xml")
внутри project/build.scala
и logback бы его забрать.
Однако после обновления sbt до 0.13.5 и перехода к системным свойствам xsbt-web-plugin, установленным в sbt, кажется, что они недоступны во время выполнения (пристань).
Я попытался установить системные свойства по-разному, также передав его с помощью -D
флаг при запуске sbt.
На консоли sbt я вижу свойство:
eval sys.props("logback.configurationFile")
[info] ans: String = /some/path/logback.xml
Но это не доступно внутри веб-приложения.
Любые идеи о том, как установить системные свойства, которые будут доступны внутри веб-приложения?
Я пробовал оба jetty()
а также tomcat()
, Такое же поведение
Обновление: я закончил с:
jetty(options = new ForkOptions(runJVMOptions = Seq("-Dlogback.configurationFile=/some/path/logback.xml")))
это работает.
1 ответ
Использование javaOptions in container += "-Dlogback.configurationFile=/some/path/logback.xml"
как описано в разделе Установить раздвоенные параметры JVM.
javaOptions
один (без in container
) должно работать тоже, что можно было увидеть в inspect actual
под Dependencies
а также Delegates
:
[play-new-app] $ inspect actual container:javaOptions
[info] Task: scala.collection.Seq[java.lang.String]
[info] Description:
[info] Options passed to a new JVM when forking.
[info] Provided by:
[info] {file:/Users/jacek/sandbox/play-new-app/}root/container:javaOptions
[info] Defined at:
[info] /Users/jacek/sandbox/play-new-app/build.sbt:26
[info] Dependencies:
[info] */*:javaOptions
[info] Delegates:
[info] container:javaOptions
[info] *:javaOptions
[info] {.}/container:javaOptions
[info] {.}/*:javaOptions
[info] */container:javaOptions
[info] */*:javaOptions
[info] Related:
[info] */*:javaOptions