[英]hot swap in sbt project without play-plugin
当我使用播放框架时,每次更改代码后,它将通过重新编译代码自动生效。
但是,当我使用sbt运行没有播放插件的项目时,它不会生效。
我想知道是否有一种方法可以使sbt项目热交换更改后的代码。
我的build.sbt如下:
version in ThisBuild := "1.0-SNAPSHOT"
scalaVersion in ThisBuild := "2.11.6"
lazy val `frontend` = (project in file("frontend")).
enablePlugins(PlayScala).
enablePlugins(DockerPlugin).
settings(
name := "frontend",
libraryDependencies ++= Dependencies.frontend
).dependsOn(`api`).aggregate(`api`)
lazy val `backend` = (project in file("backend")).
enablePlugins(JavaAppPackaging).
enablePlugins(DockerPlugin).
settings(
name := "backend",
libraryDependencies ++= Dependencies.backend ++ Seq(cache, ws)
).dependsOn(`api`).aggregate(`api`)
lazy val `api` = (project in file("api")).
settings(
name := "api",
libraryDependencies += ws
)
我在intellij想法中配置的内容如下所示(作为sbt任务)(我现在无法发布图像):
"project backend" ~run
但是,每次我在后端中更改代码时,从前端调用后端后,它都不会生效。
我想知道如何解决这个问题。 谢谢你们的帮助。
您可以通过如下方式调用sbt来自动重新编译任何更改: sbt ~compile
如果您使用〜run,则每次更改后,都会对更改的类进行编译,并再次运行项目。 如果它不起作用,您可以解释有关您的项目和结构的更多信息。
打开两个SBT窗口。
一个运行~compile
,另一个运行~run
。 希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.