是否有可能使用jar cf jar-file input-file(s)
命令,然後在另一臺機器上運行它(不Clojure)都喜歡用java文件命令建立從Clojure的文件的JAR文件?Clojure的運行如Java文件
什麼是它可以訪問Java,但不Clojure的另一臺計算機上執行程序的Clojure的最佳方式?
是否有可能使用jar cf jar-file input-file(s)
命令,然後在另一臺機器上運行它(不Clojure)都喜歡用java文件命令建立從Clojure的文件的JAR文件?Clojure的運行如Java文件
什麼是它可以訪問Java,但不Clojure的另一臺計算機上執行程序的Clojure的最佳方式?
在你core.clj您需要添加根級在納秒宏是這樣的:從項目的根文件夾
(ns test.core
...........
(:gen-class))
下一個運行lein uberjar
下次運行
java -jar target/test...standalone.jar
我做到了這一點,它啓動了REPL!項目根文件夾是當我運行'lein new test'時創建的測試文件夾?這是如何運行clojure程序作爲java可執行文件?這是否與lein或類似的版本差異有關?順便說一下,這是我的測試/ src/test/core.clj:'(ns test.core (:gen-class)) (defn foo 「我不會做很多事情。」 [x ] (println x「Hello,World!」))' – amirteymuri
它爲我工作。我剛剛在這裏上傳了一個演示項目https://github.com/bit-twit/konstantinopol。你能檢查一下嗎?只需檢查core.clj和project.clj,看看它是否有任何區別 –
是,由lein新測試創建的文件夾。您應該在根文件夾中看到project.clj文件。 –
這樣的步驟會是:'將新的my-file'光盤放入目錄,'lein uberjar',然後我可以發送'project.clj'文件給每個電子郵件給某個人,他運行'java project.clj'?我對嗎? – amirteymuri
不,project.clj管理版本,依賴關係等.Lein需要它,lein uberjar生成一個jar文件,你可以發送給某人並使用java運行。 – jwde
以及我得到一個錯誤,我不能看到我在做什麼錯誤:我創建了一個名爲測試(lein新測試)的新項目,然後從測試目錄中運行lein uberjar,該目錄在目標目錄中創建兩個jar文件: 'test-0.1.0-SNAPSHOT.jar'和'test-0.1.0-SNAPSHOT-standalone.jar'。然後我從目標目錄'Java測試-0.1.0-SNAPSHOT.jar'內運行,它說:拿起JAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jar 錯誤:無法找到或加載主class test-0.1.0-SNAPSHOT.jar – amirteymuri