【问题标题】:How to auto-reload/hotswap with gradle and scala?如何使用 gradle 和 scala 自动重新加载/热插拔?
【发布时间】:2018-02-16 07:26:22
【问题描述】:

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

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

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

如何在修改源代码时自动重新编译并重启应用程序?
最好在不使用任何 IDE 的情况下使用 CLI 和 gradle。另外,我听说 sbt 中也有类似的功能,但我不打算使用 sbt。

【问题讨论】:

    标签: scala gradle hotswap


    【解决方案1】:

    我认为你可以使用 --continous 标签解决方案:

    在终端中:

    gradle build --continuous
    

    在另一个终端:

    gradle run
    

    【讨论】:

    • 谢谢,但不幸的是它不起作用:(。它确实重建了,但正在运行的应用程序没有重新启动,也没有受到影响。
    【解决方案2】:

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

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

    • 添加关闭应用程序的端点。
    • 进行设置,以便您可以一键调用端点。
    • 运行gradle run --continuous
    • 如果您对源代码进行了编辑并希望重新启动应用程序,请调用端点。

    是的,这并不完全是“自动重新编译和重新启动”,但这是我能达到的最接近的。另外,当然,不要在代码中保留不必要的端点;要么让它自动在生产中不可用,要么一开始就不要应用这个解决方案。

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 2020-05-24
      • 2014-06-12
      • 2015-11-24
      相关资源
      最近更新 更多