【发布时间】:2019-01-23 20:00:26
【问题描述】:
根据文档,sbt fork 进程应该接收当前进程的 jvm 设置:
默认情况下,分叉进程使用与当前进程的构建、工作目录和 JVM 选项相同的 Java 和 Scala 版本。 请参阅:http://www.scala-sbt.org/0.13/docs/Forking.html
但对我来说似乎并非如此。进行以下测试:
object Test {
def main(args: Array[String]): Unit = {
println("Conf: " + System.getProperty("config.resource"))
}
}
如果我使用 sbt -Dconfig.resource=test.conf 运行它,则打印“Conf: test.conf”。但是一旦我在我的 build.scala 中添加 fork := true "Conf: null" 就会打印出来。这对我来说意味着 jvm 选项实际上并没有传递给分叉进程。有人能告诉我我在这里缺少什么吗?
import sbt._
import Keys._
object Build extends Build {
lazy val root = (project in file(".")).
settings(
fork in run := true
)
}
【问题讨论】: