defproject编译器异常

Pau*_*ers 2 clojure

我正在阅读Stuart Halloway和Aaron Bedra 编写的Clojure(第二版)一书.按照本书中的说明,我编辑并在project.clj文件中添加代码(由lein new pinger创建),使其显示为:

(defproject pinger "0.0.1-SNAPSHOT"
  :description "A website availability tester"
  :dependencies [[org.clojure/clojure "1.3.0"]])

(ns pinger.core
  (:import (java.net URL HttpURLConnection)))

(defn response-code [address]
  (let [conn ^HttpURLConnection (.openConnection (URL. address))
    code (.getResponseCode conn)]
    (when (< code 400)
      (-> conn .getInputStream .close))
    code))
Run Code Online (Sandbox Code Playgroud)

然后我尝试加载该文件并获得以下错误:

user=> (load-file "src/pinger/project.clj") 
CompilerException java.lang.RuntimeException: Unable to resolve symbol: defproject 
in this context, compiling:(C:\Documents and Settings\vreinpa\My Documents\Books\ProgrammingClojure\code\src\pinger\project.clj:1)
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

Joo*_*aat 8

您不应该在defproject定义之外的project.clj中添加任何代码.

真正的项目代码应该进入类路径(例如,在src中由"lein new ..."生成的文件中)