我对 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"]
])
和 src/scratch/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...)。我确定这是一个简单的错误,但我看不到它是什么,有人有任何想法吗?
最佳答案
我认为问题在于您正在尝试导入整个包,例如 Java 中的“import org.newdawn.slick.*”。在 Clojure 中,您不能这样做,但您必须导入要使用的每个类。
你能得到的最短的是:
(:import (java.io BufferedReader Bits BufferedWriter))
关于clojure - Leiningen 和 Clojure 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11378918/