我是Clojure的新手,但我正在学习它。我想知道将Clojure程序打包并分发给不一定是程序员的最终用户的最佳方法。我知道在Ruby中,您可以告诉用户使用gem install [program name]
下载程序,然后运行运行该程序的命令。 Clojure计划的等价物是什么?
答案 0 :(得分:8)
我使用Leiningen它有uberjar
命令来制作自包含的可执行jar文件,用户只需双击即可。请参阅:http://zef.me/2470/building-clojure-projects-with-leiningen
答案 1 :(得分:2)
如果您正在分发图书馆,Clojars很棒,但我不确定这是否是最终用户的最佳选择。
如果您已经在使用Maven,我认为最好的选择是创建一个包含所有必需类的uberjar。如果您想让它更加终端用户友好,那么您可以使用IzPack等内容从此jar创建安装程序。请记住,Clojure程序是Java程序,因此Java的所有分发选项也适用于Clojure。
答案 2 :(得分:1)
lein uberjar非常适合小型Clojure应用程序,但在使用许多Java库(包括必要的许可证和其他类似的东西)时,它无法扩展。如果您使用Maven Clojure插件,您可以利用庞大而可怕的Maven组件插件来构建您可能需要的最终结构。
或者你可以写一个Leiningen插件来做类似的事情。我不确定是否存在这样的事情。
答案 3 :(得分:-2)
Clojars(http://clojars.org/)是您可以找到的更大的Clojure库存储库。
它与Leiningen项目或任何其他Maven项目管理工具完美配合。