繁体   English   中英

Clojure / Lein /包装入罐

[英]Clojure / Lein / Package into Jar

在过去的6个月中,我一直在运行自己的Clojure应用。

即,每当我要运行该应用程序时,我都会加载clojure repl,然后输入:(load-file“ src / run.clj”)...它将运行我的应用程序。

然后,clojure加载所有我的* .clj文件,对其进行编译并运行。

我最近切换到了Lein。 我想“提前编译/打包”我的代码,以便可以使用Main方法获得一个jar,然后通过“ java ...”直接在命令行上运行它,而不必加载Clojure / Lein代表。

对我来说很明显,我需要进行一些RTFMing。 但是,如果有人可以向我指出一个好的教程,将不胜感激。

谢谢!

官方的lein教程中还有一个不错的教程 我只是提供这些信息,以防将来我们遇到任何死链接。

1)您首先需要通过将:main添加到project.clj来指定主命名空间

(defproject yourproject "0.1"
   :dependencies [[org.clojure/clojure "1.4.0"]]
   :main yourproject.core)

2)在指定的主命名空间中,必须添加(:gen-class)并且必须使用(defn -main ...)指定主函数

(ns yourproject.core
  (:gen-class))

(defn -main [& args]
  (println "This is your crazy project!"))

3)运行uberjar创建独立的jar

lein uberjar

4)使用java -jar运行程序

java -jar yourproject.jar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM