无法找到 Clojure data.csv 包
Unable to find Clojure data.csv package
我是 CLojure 的新手,运行正在编写一段简单的代码来测试 data.csv package。我在 Windows 7 上使用 Leiningen 和 运行ning(别无选择)。 Leiningen 是使用 Windows 安装程序安装的。 JDE 1.7 已安装并可用。
这是我的源文件:
(ns testcsv.core
(:gen-class))
(:require [clojure.data.csv :as csv])
(:require [clojure.java.io :as io]))
(defn add-data-store []
(let [csv-records (csv/parse-csv (slurp "census_data_growth.csv")) ;field-names (nthnext (second csv-records) 3)
]
;; more code to come when this works
))
这是我的 project.clj:
(defproject testcsv "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.6.0"]
[org.clojure/data.csv "0.1.2"]]
:main ^:skip-aot powernoodle1.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
我已经 运行 lein deps 和 lein classpath 以及 lein 以多种组合进行编译。 lein 编译的错误是:
java.lang.ClassNotFoundException: clojure.data.csv, compiling:(testcsv/core.clj:4:1)
这似乎意味着它没有找到 data.csv jar,这又似乎意味着类路径问题。
有没有漏掉的步骤?
我还听说 Leiningen 在 Windows 上存在类路径问题。有人有具体的吗?
:require
需要成为您的 ns
声明的一部分。此外,声明应该只有一个 :require
子句。
(ns testcsv.core
(:gen-class)
(:require [clojure.data.csv :as csv]
[clojure.java.io :as io]))
require
(函数,不是关键字)可以在 ns 声明之外使用,主要用于 repl 用法。它看起来像 (require '[clojure.data.csv :as csv])
.
由于关键字的实现细节被重载以用作执行查找的函数,如果 :foo
是某个关键字并且 x
存在,(:foo x)
永远不会出错,不管 x
是什么。
我是 CLojure 的新手,运行正在编写一段简单的代码来测试 data.csv package。我在 Windows 7 上使用 Leiningen 和 运行ning(别无选择)。 Leiningen 是使用 Windows 安装程序安装的。 JDE 1.7 已安装并可用。
这是我的源文件:
(ns testcsv.core
(:gen-class))
(:require [clojure.data.csv :as csv])
(:require [clojure.java.io :as io]))
(defn add-data-store []
(let [csv-records (csv/parse-csv (slurp "census_data_growth.csv")) ;field-names (nthnext (second csv-records) 3)
]
;; more code to come when this works
))
这是我的 project.clj:
(defproject testcsv "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.6.0"]
[org.clojure/data.csv "0.1.2"]]
:main ^:skip-aot powernoodle1.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
我已经 运行 lein deps 和 lein classpath 以及 lein 以多种组合进行编译。 lein 编译的错误是:
java.lang.ClassNotFoundException: clojure.data.csv, compiling:(testcsv/core.clj:4:1)
这似乎意味着它没有找到 data.csv jar,这又似乎意味着类路径问题。
有没有漏掉的步骤?
我还听说 Leiningen 在 Windows 上存在类路径问题。有人有具体的吗?
:require
需要成为您的 ns
声明的一部分。此外,声明应该只有一个 :require
子句。
(ns testcsv.core
(:gen-class)
(:require [clojure.data.csv :as csv]
[clojure.java.io :as io]))
require
(函数,不是关键字)可以在 ns 声明之外使用,主要用于 repl 用法。它看起来像 (require '[clojure.data.csv :as csv])
.
由于关键字的实现细节被重载以用作执行查找的函数,如果 :foo
是某个关键字并且 x
存在,(:foo x)
永远不会出错,不管 x
是什么。