Не удалось разрешить clj-http
Я хочу использовать clj-http, поэтому я создал проект с lein с этими зависимостями в project.clj
:
(defproject app "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:main app.core
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.7.0"]
[clj-http "2.0.0"]])
src/app/core.clj
:
(ns app.core
(:require [clj-http.client :as client]))
(println client)
(defn -main
[& args])
когда я использую lein clean && lein deps && lein run
, Я получаю сообщение об ошибке:
Exception in thread "main" java.lang.RuntimeException: Unable to resolve symbol: client in this context, compiling:(app/core.clj:4:1)
at clojure.lang.Compiler.analyze(Compiler.java:6543)
at clojure.lang.Compiler.analyze(Compiler.java:6485)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3791)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6725)
at clojure.lang.Compiler.analyze(Compiler.java:6524)
at clojure.lang.Compiler.analyze(Compiler.java:6485)
lein version
выход:
Leiningen 2.5.3 on Java 1.8.0_45 Java HotSpot(TM) 64-Bit Server VM
Я сделал что-то не так? Я точно следовал документации clj-http.
Спасибо.
1 ответ
Требующий [clj-http.client :as client]
позволяет ссылаться на Vars, определенные в этом пространстве имен, используя client
в качестве префикса. Например, вы могли бы сказать,
(client/get "http://example.com/")
и получить ответ.
Это использование, однако, не связано с использованием символа client
для ссылки на Var или local, и это не сработает:
(println client)
client
это просто псевдоним пространства имен, зарегистрированный в текущем пространстве имен, и они не могут быть оценены.