当我使用-Dconfig.file=conf/dev.conf
命令时,我想通过Build.scala将run
参数传递给我的应用程序。
我想在我的Build.scala
中添加类似的东西:
val mySettings = Seq(
(javaOptions in run) ++= Seq("-Dconfig.file=conf/dev.conf")
)
val main = play.Project(appName, appVersion, appDependencies).settings(
mySettings: _*
)
但它没有 - 从我收集的内容来看,这是因为当我使用run时,SBT不会分叉新的JVM。除设置环境变量之外的任何变通方法
答案 0 :(得分:2)
问题似乎是Play在与SBT JVM相同的JVM中运行,因此不使用在SBT中设置的Java选项。
您可以尝试以下内容:
使用fork in run := true
以便使用您提供的Java选项生成新的JVM
使用-Dconfig.file=conf/dev.conf
在同一JVM中运行应用程序之前手动设置系统属性:System.setProperty("config.file","conf/dev.conf")
我不确定所有这些解决方案是否有效,但值得尝试
答案 1 :(得分:0)
正如@Sebastien Lorber回答的那样,
fork in run := true
应该做的伎俩。另请参阅常见问题解答中的How can I create a custom run task, in addition to run?。