我想使用clj-http,所以我在project.clj中创建了一个具有这些依赖项的lein项目。
(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文档。
谢谢。
发布于 2015-10-06 19:10:02
需要[clj-http.client :as client]可以使用client作为前缀引用在该名称空间中定义的Vars。例如,你可以说
(client/get "http://example.com/")然后得到回应。
然而,这种用法与使用符号client来引用Var或本地无关,因此这是行不通的:
(println client)client只是在当前名称空间中注册的名称空间别名,不能对其进行计算。
https://stackoverflow.com/questions/32976699
复制相似问题