【问题标题】:Leiningen and Clojure dependenciesLeiningen 和 Clojure 依赖项
【发布时间】:2012-07-07 21:34:50
【问题描述】:

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

【问题讨论】:

    标签: clojure leiningen slick2d


    【解决方案1】:

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

    你能得到的最短的是:

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

    【讨论】:

    • 也就是说,您可以导入整个命名空间的函数。有没有正确的方法来做 * 导入?
    猜你喜欢
    • 2021-01-01
    • 2023-04-01
    • 2021-02-20
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    相关资源
    最近更新 更多