FileNotFoundException找不到clojure/java/jdbc__init.class

use*_*602 5 namespaces jar clojure require

我在clojure中导入jar有问题.我使用lein来添加依赖项.这是来自project.clj的代码

(defproject recommendation "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
     :license {:name "Eclipse Public License"
      :url "http://www.eclipse.org/legal/epl-v10.html"}
      :dependencies [[org.clojure/clojure "1.5.1"]
                     [org.clojure/java.jdbc "0.0.6"]         ;; jdbc 
                     [mysql/mysql-connector-java "5.1.6"]]
  :aot :all
  :main recommendation.core)
Run Code Online (Sandbox Code Playgroud)

我输入了命令lein deps,它在lib文件夹中下载了3个jar.

这是来自recommendation.core的代码

(ns recommendation.core
(:require [clojure.java.jdbc:as sql]))

我得到例外:

FileNotFoundException Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath:   clojure.lang.RT.load (RT.java:443)
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我哪里错了,该怎么办?

Art*_*ldt 4

这是我的依赖行:

[org.clojure/java.jdbc "0.2.3"]
Run Code Online (Sandbox Code Playgroud)

这是我使用 jdbc 的项目之一的 require 行

(:require [clojure.java [jdbc :as sql]])
Run Code Online (Sandbox Code Playgroud)

如果这些都没有帮助,这里是我的标准 leiningen 修复步骤:

  1. lein deps 并查找错误
  2. 莱因清洁
  3. 莱因升级
  4. lein deps :树并寻找陌生之处
  5. rm -rf target/ # 这个只帮助我解决了混乱的本地部门问题。
  6. rm ~/.m2/repository -rf # 这是最后的手段,需要大量下载。
  7. 加入 irc.freenode.net 上的 #leiningen 并寻求帮助

PS:我发现这个视频有助于掌握命名空间。