2015-10-06 6 views
0

Я хочу использовать CLJ-клиент, поэтому я создал проект с Lein с этими зависимостями в project.clj:Невозможно решить 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.

спасибо.

ответ

3

Требуется, чтобы [clj-http.client :as client] позволяет ссылаться на Vars, определенные в этом пространстве имен, с использованием client в качестве префикса. Например, вы можете сказать

(client/get "http://example.com/") 

и получить ответ.

Этого использование, однако, не имеет никакого отношения к использованию символа client для обозначения Var или локальным, и поэтому это не будет работать:

(println client) 

client все пространство имена псевдонимы, зарегистрированные в текущее пространство имен, и те, которые не могут быть оценены.