2012-04-20 8 views
2

過去6ヶ月間、私はreplからClojureアプリケーションを実行していました。Clojure/Lein/Package into Jar

私は、アプリケーションを実行したいときはいつでも、クロージャーレプリケートをロードしてから (ロードファイル "src/run.clj")とタイプして、アプリケーションを実行します。

次に、clojureはすべての* .cljファイルを読み込み、コンパイルして実行します。

私は最近Leinに切り替えました。私は "前もってコンパイル"したいと思います。メインメソッドを使って単一のjarファイルを取得し、ロードする代わりに "java ..."を使って直接コマンドラインで実行するようにしますclojure/lein repl。

RTFMingをする必要があることは明らかです。しかし、誰かが良いチュートリアルで私を指すことができれば、それは非常に高く評価されるだろう。

ありがとうございます!

答えて

3

official lein tutorialにも素晴らしいチュートリアルがあります。私は、この情報を含むだけで、将来的には死んだリンクになる場合があります。

1)あなたが最初にあなたが(:gen-class)を追加する必要がありますご指定のメインの名前空間では)

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

2をproject.cljする:mainを追加することで、メインの名前空間を指定する必要があり、(defn -main ...)

を使用して、main関数を指定する必要があります
(ns yourproject.core 
    (:gen-class)) 

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

3)

lein uberjar 
スタンドアロンのjarファイルを作成するために uberjarを実行します

4)java -jar

java -jar yourproject.jar 
を使用してプログラムを実行します