jar - FileNotFoundException 找不到 clojure/java/jdbc__init.class

标签 jar clojure namespaces 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)

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

这是来自 Recommendation.core 的代码

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



我得到了异常(exception):
FileNotFoundException Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath:   clojure.lang.RT.load (RT.java:443)

谁能告诉我我错在哪里以及该怎么办?

最佳答案

这是我的依赖行:

[org.clojure/java.jdbc "0.2.3"]

这是我使用 jdbc 的项目之一的 require 行
(:require [clojure.java [jdbc :as sql]])

如果这些都没有帮助,那么这里是我的标准 leiningen 修复步骤:
  • lein deps 并查找错误
  • 莱恩清洁
  • 雷恩升级
  • lein deps :tree 并寻找陌生
  • rm -rf target/# 这个只是帮助我解决了原生 deps 的问题。
  • rm ~/.m2/repository -rf# 这是最后的手段,需要大量下载。
  • 在 irc.freenode.net 上加入 #leiningen 并寻求帮助

  • PS:我找到了this video有助于掌握命名空间。

    关于jar - FileNotFoundException 找不到 clojure/java/jdbc__init.class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23158935/

    相关文章:

    java - 在嵌入式 jar 中创建带有入口点的可执行 jar

    java - 无法与 MySQL 建立 JDBC 连接(使用 Java、IntelliJ 和 Linux)

    performance - Clojure 中的 Takeuchi 数字(性能)

    clojure - 在宏中使用列表和反勾之间的区别

    namespaces - 使用 DQL 转义命名空间中的反斜杠(Doctrine 2)

    c++ - 类无法与不在其命名空间中的函数交 friend

    hadoop - Flume 1.6.0 Agent 启动失败

    java - maven-dependency-plugin 在jar-with-dependencies.jar 文件中生成重复文件

    data-structures - clojure 中是否有内置数据结构支持重复元素和 O(1) 删除?

    子类方法的 PHP 命名空间范围?