在 testOnly 之前重新编译 build.sbt 和 project/
Recompile build.sbt and project/ before testOnly
我的scala项目结构非常简单:
/someApp
/scala
/project
Dependencies.scala
...
/main
...
/test
MyTest.scala
/target
...
build.sbt
现在,让我们考虑一下:
sbt> testOnly *MyTest
它重新编译 MyTest.scala
并按照我的预期执行它。但是,当我对 build.sbt
或 project/Dependencies.scala
进行更改时,它会忽略这些更改。
有人可以向我解释并理解为什么会这样吗? sbt
似乎是一个巨大的谜...
要包含对项目文件夹下的 .sbt
文件或 .scala
文件所做的更改,您需要 运行 sbt [=] 中的 reload
命令19=].
您还可以强制 sbt 在每次检测到这些文件发生变化时重新加载,方法是将此行添加到您的 build.sbt
:
Global / onChangedBuildSource := ReloadOnSourceChanges
我的scala项目结构非常简单:
/someApp
/scala
/project
Dependencies.scala
...
/main
...
/test
MyTest.scala
/target
...
build.sbt
现在,让我们考虑一下:
sbt> testOnly *MyTest
它重新编译 MyTest.scala
并按照我的预期执行它。但是,当我对 build.sbt
或 project/Dependencies.scala
进行更改时,它会忽略这些更改。
有人可以向我解释并理解为什么会这样吗? sbt
似乎是一个巨大的谜...
要包含对项目文件夹下的 .sbt
文件或 .scala
文件所做的更改,您需要 运行 sbt [=] 中的 reload
命令19=].
您还可以强制 sbt 在每次检测到这些文件发生变化时重新加载,方法是将此行添加到您的 build.sbt
:
Global / onChangedBuildSource := ReloadOnSourceChanges