4

我对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...)。我确定这是一个简单的错误,但我看不出它是什么,有人有什么想法吗?

4

1 回答 1

3

我认为问题在于您正在尝试导入整个包,例如 Java 中的“import org.newdawn.slick.*”。在 Clojure 中你不能这样做,但你必须导入你想使用的每个类。

你能得到的最短的是:

(:import (java.io BufferedReader Bits BufferedWriter))
于 2012-07-07T22:13:59.330 回答