2012-07-07 117 views
4

我對clojure相當陌生,但我一直在尋找優質資源和在線示例時遇到困難,所以希望有人能指引我朝着正確的方向發展。我已經開始與雷音項目,project.clj看起來是這樣的:Leiningen和Clojure依賴關係

(defproject scratch "1.0" 
    :description "" 
    :main scratch.core 
    :dependencies [ 
    [org.clojure/clojure "1.3.0"] 
    [org.clojars.jyaan/slick "247.1"] 
    ]) 

和src /刮/ core.clj看起來是這樣的:

(ns scratch.core 
    (:import org.newdawn.slick))  

(defn -main [] (println "hello world")) 

據我可以告訴這是正確,但是當我嘗試運行lein run時,出現ClassNotFoundException。

我在lib/slick-247.1.jar文件上做了一個jar tf文件,並確認它有一個目錄結構,它將表明它具有該名稱空間(org/newdawn/slick/etc ...)。我相信這是一個簡單的錯誤,但我不明白它是什麼,有沒有人有任何想法?

回答

4

我認爲問題在於您正在嘗試導入整個包,如Java中的「import org.newdawn.slick。*」。在Clojure中,你不能這樣做,但是你必須導入你想要使用的每個類。

,你可以得到最短的是:

(:import (java.io BufferedReader Bits BufferedWriter)) 
+0

這就是說,你可以導入整個命名空間的功能。有沒有任何適當的方法來進行*導入? – jayunit100 2012-07-08 18:38:26