如何在scala中自动重新运行sbt项目

Posted

技术标签:

【中文标题】如何在scala中自动重新运行sbt项目【英文标题】:How to auto re-run sbt project in scala 【发布时间】:2021-09-08 17:49:59 【问题描述】:

我创建了一个 sbt 项目 来学习使用 akka-http 的简单 crud 操作。首先,我添加了简单的路由来检查它是否正常工作。

通过运行sbt run命令,我发现它在本地运行没有任何错误。

但是当我对项目进行一些更改时(例如:将println 语句添加到正在运行的代码中)它不会自动编译。 每次我必须退出(ctrl+c)正在运行的 sbt。并再次运行以查看更新后的代码。

所以我的问题是如何在运行项目时自动编译 sbt 项目。

谢谢。

【问题讨论】:

【参考方案1】:

据我所知,sbt 默认不处理它,但是有一个插件可以解决这个问题:sbt-revolver。一旦您的应用程序的源代码发生任何更改,它将触发您的应用程序的重启。

只需添加

addSbtPlugin("io.spray" % "sbt-revolver" % "0.9.1")

在您的build.sbt 中,然后使用以下命令启动应用程序:

sbt ~reStart

【讨论】:

我发现 sbt-revolver 已经在 plugin.sbt 文件中了。它现在使用 ~reStart 自动编译。谢谢 如果您认为答案有帮助,您可以批准和/或投票。

以上是关于如何在scala中自动重新运行sbt项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SBT Scala 项目中使用 MySQL JDBC 驱动程序?

如何在 sbt 中“使用 -deprecation 重新运行以获取详细信息”?

如何从scala对象中的sbt ProjectPlugin.scala加载对象

如何在 sbt 项目中使用来自不同位置的 scala 源并使其与 IntelliJ IDEA 一起使用?

Scala SBT 如何同时运行测试和测试

如何使用SBT和Scala正确管理开发和生产中的logback配置?