defproject Исключение компилятора - PullRequest
2 голосов
/ 26 января 2012

Я работаю над книгой Программирование 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))

Затем я пытаюсьзагрузите файл и получите следующую ошибку:

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)

Что я здесь не так делаю?

1 Ответ

8 голосов
/ 26 января 2012

Вы не должны добавлять какой-либо код в project.clj вне определения defproject.

Реальный код проекта должен входить в путь к классам (например, в файлах, созданных с помощью "lein new ... "в срк)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...