我正在尝试在我的clojure项目中使用雌虫库。我在我的项目依赖项中使用了leiningen 2.0和clojure 1.5.1。我将instaparse添加到我的项目依赖项中,如下所示:
(defproject bachelor "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"]
[org.clojure/clojure-contrib "1.2.0"]
[instaparse "1.1.0"]])这是我的消息来源,我试图要求这个库:
(ns bachelor.data
(:require [clojure.string :as str])
(:require [instaparse.core :as insta])
(:use [clojure.contrib.generic.math-functions])
)当我试图编译时,会收到以下错误消息:
cd c:/学士/src/单身汉/数据/1编译器注释: 未知位置: java.io.FileNotFoundException:无法找到classpath上的instaparse/core_init.class或instaparse/core.clj: company.clj:1:1: java.io.FileNotFoundException:无法在类路径上找到instaparse/core_init.class或instaparse/core.clj:(company.clj:1) 编译失败。
我检查了我的项目的类路径,我认为应该在那里找到实例。
莱茵类路径 C:\bachelor\test;C:\bachelor\src;C:\bachelor\dev-resources;C:\bachelor\resources;C:\bachelor\target\classes;C:\Users\Maciej.m2\repository\instaparse\instaparse\1.1.0\instaparse-1.1.0.jar;C:\Users\Mac iej.m2\repository\org\clojure\clojure-contrib\1.2.0\clojure-contrib-1.2.0.jar;C:\Users\Maciej.m2\repository\org\clojure\clojure\1.5.1\clojure-1.5.1.jar
知道我做错了什么吗?
更新
我更新了莱茵类路径的结果。早些时候,我已经贴上了旧的结果。
发布于 2013-07-03 14:17:47
我发现了出了什么问题。我是用leiningen创建项目的,但是用Clojure-box或Clooj开发源代码。我还试图用这些工具编译我的源代码,这是错误的。当您运行这样的IDE时,它会加载属于自己的类路径,这就是为什么它找不到我想要使用的库。现在,我将src编译为
莱茵编译
然后在里面运行
莱恩瑞尔
一切都很顺利。
发布于 2013-07-02 19:43:52
下面是一个工作示例项目:
project.clj:
(defproject parse "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"]
[instaparse "1.1.0"]])您不需要用于cont肋骨的行,string现在已经内置到clojure中了。
src/parse/core.clj:
(ns parse.core
(:require [instaparse.core :as insta]
[clojure.string :as str]))
(def as-and-bs
(insta/parser
"S = AB*
AB = A B
A = 'a'+
B = 'b'+"))雷普:
#<Namespace parse.core>
parse.core> (as-and-bs "aaaaabbbaaaabb")
[:S [:AB [:A "a" "a" "a" "a" "a"] [:B "b" "b" "b"]] [:AB [:A "a" "a" "a" "a"] [:B "b" "b"]]]
parse.core> (str/join "," ["a" "b" "c"])
"a,b,c" 我的Liningen怪异解决清单:
https://stackoverflow.com/questions/17432282
复制相似问题