Эй, я новичок в Clojure и Leiningen и немного застрял. Мне удалось настроить проект с Leiningen. Я могу собрать его в uberjar и запустить repl
. Мне также удалось загрузить зависимость с именем aleph
для запуска простого одновременного веб-сервера.
Следующий шаг для меня - использовать 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
, и jar-файл redis-clojure доступен в моем каталоге lib
. Я, наверное, упускаю что-то тривиальное, но я уже несколько часов занимаюсь этим вопросом и не могу приблизиться к решению. Спасибо!