Leiningen和Clojure依赖关系

Leiningen和Clojure依赖关系,clojure,leiningen,slick2d,Clojure,Leiningen,Slick2d,我是clojure的新手,但我在网上找不到好的资源和例子,所以希望有人能给我指出正确的方向。我与lein启动了一个项目,project.clj如下所示: (defproject scratch "1.0" :description "" :main scratch.core :dependencies [ [org.clojure/clojure "1.3.0"] [org.clojars.jyaan/slick "247.1"] ]) (ns scratch.

我是clojure的新手,但我在网上找不到好的资源和例子,所以希望有人能给我指出正确的方向。我与lein启动了一个项目,project.clj如下所示:

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

(defn -main [] (println "hello world"))
src/scratch/core.clj如下所示:

(defproject scratch "1.0"
  :description ""
  :main scratch.core
  :dependencies [
    [org.clojure/clojure "1.3.0"]
    [org.clojars.jyaan/slick "247.1"]
  ])
(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…)。我确信这是一个简单的错误,但我看不出它是什么,有人有什么想法吗?

我认为问题在于您试图导入整个包,就像Java中的“import org.newdawn.slick.*”一样。在Clojure中,您不能这样做,但必须导入要使用的每个类

您可以获得的最短路径是:

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

也就是说,您可以导入整个命名空间的函数。有没有合适的方法进行*导入?