【发布时间】:2016-09-19 17:33:29
【问题描述】:
我想要一个新的sbt任务runDev,相当于先设置一个系统属性,然后运行run:
sbt '; set javaOptions += "-Dlogback.configurationFile=logback-dev.xml" ; run'
如何在 sbt 中做到这一点?
【问题讨论】:
我想要一个新的sbt任务runDev,相当于先设置一个系统属性,然后运行run:
sbt '; set javaOptions += "-Dlogback.configurationFile=logback-dev.xml" ; run'
如何在 sbt 中做到这一点?
【问题讨论】:
lazy val runDev = taskKey[Unit]("Run with custom java options")
fork in runDev := true
javaOptions in runDev += "-Dlogback.configurationFile=logback-dev.xml"
fullRunTask(runDev, Compile, "mainClass")
【讨论】:
sbt run 的选项——我一直在寻找仅在运行sbt runDev 时添加的选项
sbt runDev时系统属性没有设置。
一种方式:
lazy val helloRun = inputKey[Unit]("Run as a task")
helloRun := {
javacOptions += "-Dlogback.configurationFile=logback-dev.xml"
(run in Compile).evaluated
}
【讨论】:
javacOptions 没有帮助——它将选项发送给 java 编译器,而不是 JVM 运行时