我有我的Clojure應用程序包裝在一個罐子裏。我推出它爲:Clojure:如何從jar中運行我的main?
java -cp lib/clojure-1.2.0.jar:my-app.jar clojure.main -e "(use 'foo.main)(-main)"
這是從這個罐子啓動我的應用程序的唯一方法?具體而言,我很想看到的簡單的東西:
java -cp lib/clojure-1.2.0.jar:my-app.jar clojure.main foo.main
我有我的Clojure應用程序包裝在一個罐子裏。我推出它爲:Clojure:如何從jar中運行我的main?
java -cp lib/clojure-1.2.0.jar:my-app.jar clojure.main -e "(use 'foo.main)(-main)"
這是從這個罐子啓動我的應用程序的唯一方法?具體而言,我很想看到的簡單的東西:
java -cp lib/clojure-1.2.0.jar:my-app.jar clojure.main foo.main
使用
(ns foo.main
(:gen-class)
在您的主要源代碼中生成命名空間包的限定類文件。將您的Leiningen項目文件添加到
:main foo.main
:manifest {"Class-Path" "lib/clojure-1.2.0.jar"}
。 「雷音罐子」之後,你可以啓動使用元數據從JAR嵌入清單文件的應用程序:
java -jar foo-YOURVERSION.jar
你如果把與leiningens uberjar任務,那麼所有你需要做的就是運行你的應用程序,
java -jar name-of-your-app.jar
假設您在`project.clj`文件中配置了`main`選項。 – 2010-12-04 19:31:53
編譯:http://alexott.net/en/clojure/ClojureLein.html - 瓦特/ Leiningen, http://clojure.org/compilation - 沒有它。 – ffriend 2010-12-04 22:18:00