我正在閱讀關於clojure.org關於編譯的documention,最後一部分是gen-class示例。我做的例子,然後當試圖運行它作爲Java應用程序:
java -cp ./classes:clojure.jar clojure.examples.hello Fred
在終端我得到:Error: Could not find or load main class clojure.examples.hello
。有人可以幫忙嗎?關於彙編和gen-class的Clojure.org文檔有人可以介紹到哪裏瞭解GEN-類:創一流的,我覺得不是網絡
回答
從基地+系統+用戶+戴夫命令java -cp ./classes:clojure.jar tst.core
多文檔幾乎是正確的。 java.lang.NoClassDefFoundError: clojure/lang/IFn
錯誤是因爲JVM找不到Clojure類,因爲base+system+user+dave
目錄中沒有clojure.jar
文件,所以您需要指定clojure.jar文件的正確路徑。
當您使用的是lein
時,它將您的項目依賴關係下載到您的local repository。其中一個依賴項是Clojure本身,所以假設你在iOS/Linux上,並且你的lein project.clj與clojure 1.7.0有依賴關係,那麼從base + system + user + dave目錄運行的命令將是:
java -cp ./classes:~/.m2/repository/org/clojure/clojure/1.7.0/clojure-1.7.0.jar tst.core
因爲一旦你有一個以上的依賴這得到很煩人,我會建議使用lein uberjar
,將創建在target
目錄中的文件名爲您的項目名稱,standalone.jar,將已獲得所有必要類,所以要從命令行運行它到目標目錄並運行類似於:
java -cp tst-standalone.jar tst.core
要了解更多關於類路徑如何在JVM中工作的信息,您可以從Wikipedia
感謝您的詳細的答案,但不是他們仍然適合我!我從** base + system + user + dave運行'java -cp ./classes:~/.m2/repository/org/clojure/clojure/1.7.0/clojure-1.7.0.jar tst.core' DIR並獲得:'異常在線程「主要」 java.lang.NoClassDefFoundError:Clojure的/郎/ IFn' – amirteymuri
你必須找到您的系統正在使用Clojure的罐子的位置,並將其插入到命令。 – Alex
- 1. 關於mvn彙編
- 2. 關於彙編的問題
- 3. Watcom內聯彙編文檔
- 4. VSTS - 彙編關於構建
- 5. 有沒有關於ARM的彙編語言和GNU彙編語言的書?
- 6. 彙編和C++關係
- 7. 關於testl的彙編指令
- 8. 關於英特爾彙編的問題
- 9. 關於彙編語言的問題
- 10. 關於彙編語言的問題
- 11. 關於圖形的x86彙編練習
- 12. 關於彙編後空白的swf?
- 13. 關於ggplot_gtable和ggplot_build的R文檔
- 14. 關於MongoDB文檔
- 15. X86和ARM彙編的參考文檔是什麼?
- 16. gcc彙編和彙編
- 17. 關於彙編語言條件選擇
- 18. x86彙編關於產品輸出
- 19. 關於角色的文檔
- 20. 關於RubyVM :: InstructionSequence的文檔?
- 21. 關於getParameterByName的Javascript文檔?
- 22. 關於boost的文檔:: unique_future
- 23. 關於「dealloc」的文檔
- 24. 關於扭曲的文檔
- 25. 關於Eclipse Monkey的文檔
- 26. 關於MyBase的文檔?
- 27. 關於8086彙編的DB和DUP指令
- 28. 關於dw在彙編和nasm中的第二個問題
- 29. 關於文檔和相關數據的全文搜索mssql
- 30. 關於gcc生成的彙編代碼(彙編代碼不正確?)
開始您在運行'java -cp'命令的目錄中是否有類目錄?試圖找到一個文件名爲Clojure的/例子/ hello.class – DanLebrero
我已經產生了一些項目** ** TST與leiningen,並有一個classes目錄中:** TST /目標/ +基地+系統+用戶戴夫** 。所以我cd目錄**基礎+系統+用戶+戴夫**,從那裏我運行'java -cp ./classes:clojure.jar tst.core弗雷德'和我得到:'在線程中的異常「主「java.lang.NoClassDefFoundError:clojure/lang/IFn'錯誤,我嘗試'java -cp ./classes:clojure.jar tst Fred',我得到了'錯誤:無法找到或加載主類tst' – amirteymuri