首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到Clojure data.csv包

找不到Clojure data.csv包
EN

Stack Overflow用户
提问于 2015-04-02 20:33:12
回答 1查看 332关注 0票数 0

我是CLojure新手,我运行了一段简单的代码来测试data.csv包。我正在使用Leiningen并在Windows 7上运行(别无选择)。Leiningen是与Windows安装程序一起安装的。已安装并提供JDE1.7。

这是我的源文件:

代码语言:javascript
复制
(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:

代码语言:javascript
复制
(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和lein和lein编译了许多组合。来自lein编译的错误是:

代码语言:javascript
复制
java.lang.ClassNotFoundException: clojure.data.csv, compiling:(testcsv/core.clj:4:1)

这似乎意味着它没有找到data.csv jar,而这反过来又意味着类路径问题。

我错过了一步吗?

我还听说Leiningen在Windows上有类路径问题。有人知道具体情况吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-02 21:02:11

:require需要成为ns声明的一部分。此外,声明应该只有一个:require子句。

代码语言:javascript
复制
(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)是某个关键字,并且x存在,那么无论x是什么,x都不会是一个错误。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29421951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档