无法在类路径上找到clojure / java / jdbc / sql__init.class或clojure / java / jdbc / sql.clj

时间:2015-11-08 15:47:44

标签: jdbc clojure compojure

我在使用MySQL运行简单的Clojure / Compojure项目时遇到问题。

这是我的项目定义:

(defproject picenum "compojure"
  :description "Ascoli ❤ Clojure"
  :url "http://localhost:3000/"
  :dependencies [[org.clojure/clojure "1.7.0"]
                 [compojure "1.4.0"]
                 [ring/ring-json "0.4.0"]
                 [korma "0.4.2"]
                 [log4j "1.2.17"]
                 [mysql/mysql-connector-java "5.1.37"]
                 [org.clojure/java.jdbc "0.4.2"]
                 [c3p0/c3p0 "0.9.1.2"]
                 [hiccup "1.0.5"]]
  :plugins [[lein-ring "0.9.7"]]
  :ring {:handler picenum.handler/app}
  :profiles
  {:dev {:dependencies [[ring-mock "0.1.5"]]}})

当我跑步时,我得到:

java.io.FileNotFoundException: Could not locate clojure/java/jdbc/sql__init.class or clojure/java/jdbc/sql.clj on classpath.

升级了大部分依赖项后,它停止了工作。 我错过了什么?

编辑: 这是处理程序命名空间定义

(ns picenum.handler
  (:import com.mchange.v2.c3p0.ComboPooledDataSource)
  (:use compojure.core
        ring.middleware.json
        ring.util.response
        korma.db
        korma.core
        hiccup.core
        hiccup.util
        hiccup.page)
  (:require [compojure.handler :as handler]
            [compojure.route :as route]
            [clojure.java.jdbc :as jdbc]
            [clojure.java.jdbc.sql :as sql]))

2 个答案:

答案 0 :(得分:0)

sql.clj库上没有java.jdbc
请删除您文件中的[clojure.java.jdbc.sql :as sql]

答案 1 :(得分:0)

正如number23_cn所示,删除slug:要求停止提供有关不存在[clojure.java.jdbc.sql :as sql]的错误

clojure-doc.org提供明确的information how to use the sql connector

在clojure中获取有效mysql连接的步骤:

在project.clj中添加依赖项:

sql.clj

要求命名空间定义中的数据库连接器:

:dependencies [[org.clojure/java.jdbc "0.4.2"]
               [mysql/mysql-connector-java "5.1.38"]]

定义数据库连接:

(:require [clojure.java.jdbc :as j])

查询数据库:

(def db-map {:subprotocol "mysql"
             :subname "//localhost:3306/SCHEME"
             :user "DB_USER"
             :password "DB_USER_PASS"})

找到更多的例子 http://clojure-doc.org/articles/ecosystem/java_jdbc/using_sql.html