lein run
和将 clojure 应用程序lein trampoline run
部署为 uberjar 有什么区别?有性能差异吗?
如果我执行lein run
/lein trampoline run
我可以 ssh 进入服务器并从 git 中提取我的更改,而无需重新启动应用程序,对于 uberjar 来说也是如此。在 uberjars 的情况下,对于我需要构建和部署应用程序的每一个更改。
提前致谢。
默认情况下,它们三个都不会实时处理您的代码更改。
如果你正在使用 ring,那么lein-ring有一个可以这样启动的开发模式:
lein ring server
这确实会为您重新加载代码。
编辑:在生产中使用哪一个?
在这里假设 *production* 意味着将您的代码的捆绑版本交付给用户
使用lein uberjar创建一个 jar并使您的最终产品独立于构建工具通常是首选方式。