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