3

過去 6 か月間、repl から Clojure アプリを実行してきました。

つまり、アプリを実行したいときはいつでも、clojure repl をロードしてから、次のように入力します: (load-file "src/run.clj") ... すると、アプリが実行されます。

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

最近Leinに乗り換えました。コードを「事前にコンパイル/パッケージ化」して、 Main メソッドを使用して単一の jar を取得し、ロードするのではなく、「java ...」を介してコマンドラインで直接実行できるようにします。 Clojure/lein repl。

RTFMing を実行する必要があることは明らかです。ただし、誰かが私に良いチュートリアルを教えてくれれば、それは大歓迎です。

ありがとう!

4

1 に答える 1

6

公式の 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
于 2012-04-20T10:09:07.330 に答える