在 sbt 控制台中,:replay 重置执行并重播所有以前的命令。 我本以为 sbt 会在有更改时重新编译您的类,并针对新编译的类重播以前的命令。 但事实似乎并非如此。 我需要在这种工作流程中使用JRebel吗? 我的目标是能够在 REPL 中找到一个错误,修复该错误,然后使用单个命令(如 :reply)编译并重新运行所有以前的命令。
:replay
是Scala REPL的命令,而不是SBT。
尝试在一个外壳中使用 JRebel 运行sbt console
,然后在第二个外壳中运行sbt ~compile
。
第一个将给你自动重新加载重新编译的类;第二个将自动重新编译编辑的类。