【问题标题】:Auto-reloading files in Scala/Lift/SBT .11?在 Scala/Lift/SBT .11 中自动重新加载文件?
【发布时间】:2012-01-22 15:58:21
【问题描述】:

在 SBT .7 中,您可以这样做

~jetty-run

为了让您的文件在发生变化时自动编译并重新加载网络应用程序。在 SBT .11 中,您可以这样做

~container:start

它也会重新编译文件,但似乎不会重新加载网络应用程序,每次发生变化时。相反,我必须做一个

container:stop
container:start

查看更改。问题在于它需要~30s 才能重新启动。有更好的方法吗?通过谷歌和 SBT 挖掘并没有找到任何答案

编辑: 做一个

container:start
container:reload

每次发生变化时,似乎都运作良好。但是,是否有可能使其按该顺序自动发生?比如:

~(container:start, container:reload)

这不起作用,但我希望它起作用

【问题讨论】:

标签: scala jetty lift sbt xsbt-web-plugin


【解决方案1】:

所以答案是 ~ 可以接受一个命令列表,正如 fmpwizard 左边的链接中提到的那样。因此你可以这样做

~;container:start; container:reload /

做正确的事:每次我保存文件时,它都会重新编译必要的文件并重新加载网络应用程序!

编辑:应该是容器:重新加载,如前所述。谢谢!

【讨论】:

  • +1,我相信你的意思是,“~;container:start; container:reload /”,我收到“container reload”错误。前者在 Scala/SBT/Spray 项目中做得很好......
  • 有没有办法让用户保持登录状态?每次更改文件都必须重新登录很痛苦。
  • @phopkins 是的,您需要向应用程序添加扩展会话:assembla.com/spaces/liftweb/wiki/Extended_Sessions
【解决方案2】:

~container:start 不需要,
您可以先使用 container:start 而不使用 ~ ,然后使用 ~container:reload ,因此每次代码更改后都不会重新启动 container:start .. 我认为

【讨论】:

    【解决方案3】:

    您是否尝试过类似的方法:

    container:start
    ~compile
    

    【讨论】:

    • 试过了;它每次都会编译它,但不会重新加载应用程序 =(
    猜你喜欢
    • 2016-06-23
    • 2013-11-22
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多