【发布时间】:2016-02-09 07:27:40
【问题描述】:
我在使用 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]))
【问题讨论】:
-
project.clj看起来是正确的。您介意发布您的命名空间定义(您尝试使用 JDBC 的定义)吗?