我有一个Akka应用程序,在build.sbt中有一个build.sbt设置。因此,当我需要调试代码时,我手动将其设置为false。这是很容易忘记的事情。
有办法从命令行重写fork设置吗?例如,在运行sbt clean run时。我已经读过,它可以创建一个单独的任务,而覆盖叉只用于该任务。在后一种情况下,clean run任务会是什么样的呢?
更新:抱歉混淆了。马科回答后,我意识到我的票是不完整的。我想要一种在非交互shell中设置这个的方法。现在我有一个IntelliJ sbtTask (它还接受环境变量等)。为此,我只需单击调试按钮即可运行该应用程序。任务本身只有两个单词-- clean run,但是应该创建一个单独的单词,这样就可以了。
发布于 2021-09-01 20:09:19
发布于 2021-09-02 21:09:23
马里奥的回答很好,但我很好奇是否有一个单行指令,我可以与我的团队分享。我想,多亏了Sbt文档中的这个常见问题项目,我终于找到了它。
在build.sbt中,您可以添加以下内容:
lazy val runWithForkFalse = taskKey[Unit]("Run application with `set fork:= false` for debugging purpose.")
runWithForkFalse / fork := false
fullRunTask(runWithForkFalse, Compile, "com.Main")然后,在InelliJ中,您可以创建一个只有两个单词clean runWithForkFalse的Sbt任务,然后单击它们的调试图标。当然,您也可以从命令行运行sbt clean runWithForkFalse。
https://stackoverflow.com/questions/69019384
复制相似问题