Leiningen和Clojure依赖关系
我是clojure的新手,但我在网上找不到好的资源和例子,所以希望有人能给我指出正确的方向。我与lein启动了一个项目,project.clj如下所示: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.
(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))
也就是说,您可以导入整个命名空间的函数。有没有合适的方法进行*导入?