如何使用gradle和scala自动重新加载/ hotswap?

时间:2017-11-20 00:22:14

标签: scala gradle hotswap

我有一个Scala服务器应用程序,它使用gradle和scalaapplication插件进行构建和运行。我使用gradle run启动应用程序。

我的一部分。一个典型的,真的:

...
apply plugin: 'scala'
apply plugin: 'application'
...
mainClassName = "mypackage.Main"

每当我修改源代码时,如何自动重新编译和重启应用程序?
优选地,使用CLI和gradle而不使用任何IDE。另外,我听说有类似的功能在sbt,但我不打算使用sbt。

2 个答案:

答案 0 :(得分:0)

我认为您可以使用 - 连续标记解决方案:

在终端中:

gradle build --continuous

在另一个终端:

gradle run

答案 1 :(得分:0)

我尝试gradle run --continuous但是没有成功,因为run任务永无止境,似乎--continuous没有开始新的构建/ task除非前一个完成。

所以,我能达到的最接近的解决方案是:

  • 添加关闭应用程序的端点。
  • 进行设置,只需单击一下即可调用端点。
  • 运行gradle run --continuous
  • 如果您对源代码进行了编辑并想要重新启动应用程序,请调用端点。

是的,这并不完全"自动重新编译和重新启动"但这是我能够达到的最接近的。当然,也不要在代码中保留不必要的端点;或者让它在生产中自动生效,或者首先不应用这个解决方案。