これは2番目の質問です Leiningen内にスタンドアロンのClojureパッケージはありますか?
たとえば、ファイルhello_world.clj
、そして私はそれを使用してそれを実行することができます
Java -cp clojure.jar clojure.main hello_world.clj
。
leinには既にClojureが含まれているため(lein repl
直接)、同じようなことをする方法はありますか
lein script hello_world.clj
by lein?
lein-exec プラグイン、readme.mdの例を使用(「lein2」ではなく「lein」で更新)
cat foo.clj | lein exec
lein exec -e '(println "foo" (+ 20 30))'
lein exec -ep "(use 'foo.bar) (pprint (map baz (range 200)))"
lein exec -p script/run-server.clj -p 8088
lein exec ~/common/delete-logs.clj
_lein repl
_にはいくつかの方法があります。
cat your_file.clj | lein repl
_echo '(load-file "your_file.clj")' | lein repl
lein repl
_(load-file "your_file.clj")
_2
_leiningenは、すべての依存関係を持つ「uberjar」を作成できます。
lein uberjar
ターゲットのサブディレクトリにjarが作成されます。 jarにはproject.clj
にリストされているすべての依存関係が含まれるため、コードを呼び出すために複雑なクラスパスを作成することを心配する必要はありません。
このuberjarを通常の方法でJavaクラスパスの単一のエントリとして参照するか、またはproject.clj
でメインクラスを指定して、実行可能jarとしてそれを呼び出します。
例えばこのようなproject.clj
:
(defproject clj-scratch "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.4.0"]
:main clj-scratch.core)
-main
のclj-scratch.core namespace
関数を呼び出します
実行した場合:
Java -jar target/clj-scratch-1.0.0-SNAPSHOT-standalone.jar