clojure - Leiningen 和 Clojure 依赖项

标签 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"]
  ])

和 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/

相关文章:

clojure - 如何配置我的 project.clj 以便 Leiningen 在非标准目录结构下找到我的源代码?

java - 我无法用 slick2D Java 解决这个问题

java - 使用 UnicodeFont 不进行平滑处理

clojure - rseq 与 clojure 中的反向

Clojure 重新加载工作流程而不使用组件之类的库?

leiningen - 在 clojurescript 中使用最新版本的 google 关闭?

java - 跳转二次方程-JAVA

clojure - 如何使用 leningen 将 .clj 文件作为脚本运行?

clojure - 为什么 if-not 调用 "not",而不是仅仅反转参数?

clojure - 在 map 中获取可能值之一的惯用方法?