当我尝试使用
时 (ns eight-puzzle.core
(:use [clojure.contrib.seq :only (positions)]))
我收到此错误
java.io.FileNotFoundException: Could not locate clojure/contrib/seq__init.class or clojure/contrib/seq.clj on classpath:
RT.java:443 clojure.lang.RT.load
RT.java:411 clojure.lang.RT.load
core.clj:5530 clojure.core/load[fn]
core.clj:5529 clojure.core/load
RestFn.java:408 clojure.lang.RestFn.invoke
core.clj:5336 clojure.core/load-one
core.clj:5375 clojure.core/load-lib[fn]
core.clj:5374 clojure.core/load-lib
RestFn.java:142 clojure.lang.RestFn.applyTo
core.clj:619 clojure.core/apply
core.clj:5413 clojure.core/load-libs
RestFn.java:137 clojure.lang.RestFn.applyTo
core.clj:621 clojure.core/apply
core.clj:5507 clojure.core/use
RestFn.java:408 clojure.lang.RestFn.invoke
NO_SOURCE_FILE:1 eight-puzzle.core/eval8699[fn]
NO_SOURCE_FILE:1 eight-puzzle.core/eval8699
当我尝试导入任何内容时会发生这个问题。设置clojure时我做错了吗?
答案 0 :(得分:3)
对于Leiningen管理的项目,外部依赖关系应在project.clj
文件的:dependencies
密钥下指定。
(defproject project1 "0.0.1"
:description "Something"
:dependencies [[org.clojure/clojure "1.5.1"]
[org.clojure/clojure-contrib "1.2.0"]
[clj-time "0.6.0"]])
注意: :dependencies
中的条目可以来自maven(maven central repository)或Clojars。
看起来您正在使用clojure.contrib
。此库已被弃用,如果可以,您应该upgrade。如果您仅使用clojure.contrib.seq/positions
,请查看此StackOverflow answer。您也可以使用clojure.core函数重新实现它:
(defn positions [pred coll]
(for [[idx elt]
(map-indexed vector coll)
:when (pred elt)]
idx))