首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从sbt中为scalac设置SCALACTIC_FILL_FILE_PATHNAMES=yes (或其他环境变量)?

如何从sbt中为scalac设置SCALACTIC_FILL_FILE_PATHNAMES=yes (或其他环境变量)?
EN

Stack Overflow用户
提问于 2022-01-23 10:29:16
回答 1查看 325关注 0票数 1

我想在ScalaTest记者中使用完整的路径。值LineInFile.filePathname告诉我应该:

请在编译时将环境变量SCALACTIC_FILL_FILE_PATHNAMES设置为yes,以启用此功能。

我是否可以从sbt中执行此操作,还是必须使用不同的环境启动SBT?Scalac似乎运行在与sbt相同的JVM中,而且有一个问题Scala: Unable to set environment variable告诉我,我不能修改自己的环境。

我试过如下,它们似乎都没有为编译器设置变量:

代码语言:javascript
复制
    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"),
EN

回答 1

Stack Overflow用户

发布于 2022-01-23 13:37:04

据我所知,sbt不会在单独的进程中运行scalac (这将允许它设置环境变量),因此您必须在具有该集合的环境中运行sbt。

注意,-D设置了Java属性。虽然软件允许类似地对待环境变量和属性是相当常见的(例如Lightbend ),但这是不标准的。

设置环境的机制将取决于启动sbt的方式。如果使用类似bash的Bourne样式的shell:

代码语言:javascript
复制
export SCALACTIC_FILL_FILE_PATHNAMES=yes
sbt

代码语言:javascript
复制
SCALACTIC_FILL_FILE_PATHNAMES=yes sbt

IDE和CI/CD工具可以直接启动sbt,在这种情况下检查这些工具的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70821129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档