2013-08-16 12 views
8

Vorrei passare un parametro -Dconfig.file=conf/dev.conf alla mia applicazione tramite Build.scala quando utilizzo il comando run.Come passare javaOptions a "play run" tramite Build.scala

sto cercando di mettere qualcosa di simile a questo nel mio Build.scala:

val mySettings = Seq(
    (javaOptions in run) ++= Seq("-Dconfig.file=conf/dev.conf") 
) 

val main = play.Project(appName, appVersion, appDependencies).settings(
    mySettings: _* 
) 

Ma non è così - da quello che ho raccolto questo è perché SBT non fork di una nuova JVM quando uso correre. Qualsiasi soluzione alternativa eccetto di impostare una variabile di ambiente?

+1

C'è un'impostazione 'fork' nella console di gioco. 'help fork' dice" Se true, forchetta una nuova JVM durante l'esecuzione. Se false, viene eseguita nella stessa JVM della build. ". Non ho idea di dove o come cambiare quell'impostazione. – Kapep

risposta

2

Sembra che Play sia eseguito nella stessa JVM della JVM SBT, quindi le opzioni Java impostate in SBT non vengono utilizzate.

Si può provare qualcosa di simile:

  • Usa fork in run := true in modo che una nuova JVM è deporre le uova, utilizzando le opzioni Java si danno

  • SBT lancio con -Dconfig.file=conf/dev.conf

  • Set proprietà di sistema manualmente prima di eseguire l'app nella stessa JVM: System.setProperty("config.file","conf/dev.conf")

Non sono sicuro che tutte queste soluzioni funzionano, ma vale la pena provare loro

Problemi correlati