繁体   English   中英

没有播放插件的sbt项目中的热交换

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM