编译错误,包括项目中的clj-time

时间:2014-07-28 20:53:35

标签: clojure jodatime

我在project.clj中包含了[clj-time“0.8.0”]。然后我在我的命名空间中引用clj-time,如下所示:

(ns school-finder.tasks
  (:require [clj-time.core :as t]))

但是,当我尝试运行项目时,出现以下编译错误:

Exception in thread "main" java.lang.IllegalArgumentException: No single method: second of interface: clj_time.core.DateTimeProtocol found for function: second of protocol: DateTimeProtocol, compiling:(clj_time/coerce.clj:146:64)

我做错了什么?

2 个答案:

答案 0 :(得分:1)

很难说问题出在哪里,所以这是一个有效的例子:

project.clj:

(defproject hello "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [clj-time "0.8.0"]]
  :source-paths ["dev"])

的src /你好/ core.clj:

(ns hello.core
  (:require [clj-time.core :as t]))

(println (t/now))

答案 1 :(得分:1)

我认为这是一个已知错误:https://github.com/clj-time/clj-time/issues/124

如果您只是执行lein clean(可能后跟lein deps),则应解决此问题。