【发布时间】:2019-02-11 19:13:11
【问题描述】:
Clojure 新手在这里。我正在尝试将 datomic 集成到 compojure-api 项目中。码头有冲突,所以基于docs,我的project.clj看起来像这样,这使它现在可以在我做lein ring server时工作
(defproject dice-api "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.8.0"]
[metosin/compojure-api "1.1.11"]
[com.datomic/client-pro "0.8.28"
:exclusions [org.eclipse.jetty/jetty-client
org.eclipse.jetty/jetty-http
org.eclipse.jetty/jetty-util]]]
:ring {:handler dice-api.handler/app}
:uberjar-name "server.jar"
:profiles {:dev {:dependencies [[javax.servlet/javax.servlet-api "3.1.0"]]
:plugins [[lein-ring "0.12.0"]]}})
但是,我现在无法在 repl 中使用 datomic(并且当我在我的 compojure-api 端点中调用它时可能不会工作)。
➜ dice-api lein repl
...
user=> (require '[datomic.client.api :as d])
nil
user=> (def local-cfg {:server-type :peer-server
#_=> :access-key "blahblahblah"
#_=> :secret "blahblahblah"
#_=> :endpoint "localhost:8998"})
#'user/local-cfg
user=> (defn client [cfg]
#_=> (d/client cfg))
#'user/client
user=> (def conn (d/connect (client local-cfg) {:db-name "hello"}))
CompilerException java.lang.ClassNotFoundException: org.eclipse.jetty.client.HttpClient, compiling:(cognitect/http_client.clj:1:1)
如何整合datomic 和compojure-api?
【问题讨论】: