我想在ScalaTest记者中使用完整的路径。值LineInFile.filePathname告诉我应该:
请在编译时将环境变量SCALACTIC_FILL_FILE_PATHNAMES设置为yes,以启用此功能。
我是否可以从sbt中执行此操作,还是必须使用不同的环境启动SBT?Scalac似乎运行在与sbt相同的JVM中,而且有一个问题Scala: Unable to set environment variable告诉我,我不能修改自己的环境。
我试过如下,它们似乎都没有为编译器设置变量:
scalacOptions ++= Seq(
"-deprecation", "-unchecked",
"-DSCALACTIC_FILL_FILE_PATHNAMES=yes"
),
Compile / envVars := Map("SCALACTIC_FILL_FILE_PATHNAMES" -> "yes"),
Test / envVars := Map("SCALACTIC_FILL_FILE_PATHNAMES" -> "yes"),发布于 2022-01-23 13:37:04
据我所知,sbt不会在单独的进程中运行scalac (这将允许它设置环境变量),因此您必须在具有该集合的环境中运行sbt。
注意,-D设置了Java属性。虽然软件允许类似地对待环境变量和属性是相当常见的(例如Lightbend ),但这是不标准的。
设置环境的机制将取决于启动sbt的方式。如果使用类似bash的Bourne样式的shell:
export SCALACTIC_FILL_FILE_PATHNAMES=yes
sbt或
SCALACTIC_FILL_FILE_PATHNAMES=yes sbtIDE和CI/CD工具可以直接启动sbt,在这种情况下检查这些工具的文档。
https://stackoverflow.com/questions/70821129
复制相似问题