当前位置:  开发笔记 > 后端 > 正文

与雷宁根一起使用redis-clojure的问题

如何解决《与雷宁根一起使用redis-clojure的问题》经验,为你挑选了1个好方法。

嘿,我是Clojure和Leiningen的新手,有点卡住了.我设法与莱宁根建立了一个项目.我能够将它编译成一个uberjar并运行repl.我还设法加载一个名为aleph运行简单并发Web服务器的依赖项.

我的下一步是使用redis-clojure访问redis.但在这里我被困住了.这是我的project.clj:

(defproject alpha "0.0.1-SNAPSHOT"
  :description "Just an alpha test script"
  :main alpha.core
  :dependencies [[org.clojure/clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]
                 [aleph, "0.1.2-SNAPSHOT"]
                 [redis-clojure "1.2.4"]])

这是我的core.clj:请注意,我只(:requre redis)根据redis-clojure中的示例添加了该行.

(ns alpha.core
  (:require redis)
  (:gen-class))

(use `aleph.core 'aleph.http)

(defn alpha [channel request]
  (let [] (enqueue-and-close channel
                     {:status 200
                      :header {"Content-Type" "text/html"}
                      :body "Hello Clojure World!"}))
          (println (str request)))

(defn -main [& args]
  (start-http-server alpha {:port 9292}))

当我尝试运行lein repl时会发生这种情况:

java.io.FileNotFoundException: Could not locate redis__init.class or redis.clj on classpath:  (core.clj:1)

是的,我已经运行lein deps了,我的lib目录中有redis-clojure jar .我可能错过了一些微不足道的东西,但我现在已经在这个问题上待了几个小时而没有接近解决方案.谢谢!



1> Jürgen Hötze..:

命名空间redis不存在.我想你需要

(:require [redis.core :as redis])

检查可用命名空间的方法:

(use 'clojure.contrib.find-namespaces)
(filter #(.startsWith (str %) "redis") (find-namespaces-on-classpath))

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有