gpt4 book ai didi

clojure - 莱恩奔跑vs莱因蹦床奔跑vs uberjar

转载 作者:行者123 更新时间:2023-12-04 10:24:09 26 4
gpt4 key购买 nike

lein runlein trampoline run和将clojure应用程序部署为uberjar有什么区别?性能上有区别吗?

如果我执行lein run/lein trampoline run,则只需ssh进入服务器并从git中提取更改,而无需重新启动应用程序,对于uberjar来说并非如此。对于uberjars,对于每次更改,我都需要构建和部署该应用程序。

提前致谢。

最佳答案

默认情况下,所有这三个选项均不会实时处理您的代码更改。

  • lein run :执行目标或默认 namespace 的-main函数。 Lein用尽了所有主要方法的全部执行时间,因此,如果您的主要功能创建了一个Web服务器,那么leiningen进程也将一直处于运行状态。
  • lein蹦床:将-main函数作为单独的进程执行,因此leiningen主进程可以退出,因此只有一个运行
  • 的进程
  • lein uberjar :创建一个独立的jar文件,因此任何其他用户都不需要安装lein即可运行您的代码。 (或任何源文件)。要运行jar,请执行 java -jar myjarname.jar ,其中包含所有源和所有依赖项。

  • 如果您正在使用ring,则 lein-ring具有可以通过以下方式启动的开发模式:
       lein ring server

    确实可以为您重新加载代码。

    编辑:在生产中使用哪一个?

    假设这里的* production *意味着将代码的捆绑版本交付给用户

    通常,首选方法是使用lein uberjar创建jar,并使最终产品独立于构建工具。

    关于clojure - 莱恩奔跑vs莱因蹦床奔跑vs uberjar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35595523/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com