2010-05-26 89 views

回答

22

使用leiningen並從項目中構建uberjar(包含所有依賴關係的獨立jar)。

正如Alex Ott在評論中提到我的回答時,另一個可能建立你的應用是使用Maven + Clojure插件的maven。之後,您可以使用諸如IzPack之類的工具爲您的jar工件生成安裝程序或可執行包裝程序。你也可以用leiningen來使用IzPack - 它根本不關心構建系統 - 只關於生成的文件:-)

在你擁有uberjar之後,有許多選項可以將它包裝在本地可執行啓動器的窗口 - izpack2exejsmooth, jar2exe, executor, etc ...

+3

我用maven與組裝插件來構建大罐子的所有內容。我也使用maven + izpack-plugin爲我的應用程序構建安裝程序 – 2010-05-26 18:20:54

+0

我自己使用IzPack,但忘了提及它。感謝您的好評,我會延長我的回答。 – 2010-05-26 18:26:33

+0

Clojuresque(Gradle的Clojure插件)也提供了一個uberjar任務,它爲應用程序構建了一個獨立的jar。 – kotarak 2010-05-27 08:27:37

2

爲了擴大Bozhidar的答案leiningen使得它非常容易生成一個jar包,你的應用程序及其依賴關係。當您在項目目錄中時,只需從終端運行lein uberjar,它將創建一個文件project-name-0.1.0-standalone.jar,可以使用java -jar運行,其中「project-name」是您的名稱項目。你想確保你的project.clj是你設置的:main爲具有-main函數的文件。另外,在你的主文件,你想放(:創一流)命名空間的聲明中,像這樣:

(ns project-name.main 
     (: require ...) 
     (:gen-class))