我正在尝试将instaparse lib用于我的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"]])
这就是我的来源,我试图要求这个lib:
(ns bachelor.data
(:require [clojure.string :as str])
(:require [instaparse.core :as insta])
(:use [clojure.contrib.generic.math-functions])
)
当我尝试编译它时,我会收到以下错误消息:
cd c:/BHANCEL/src/BHANCELOR.data/1编译器注释:
未知位置:错误:java.io.FileNotFoundException:在类路径上找不到instaparse/core__init.class或instaparse/core.clj:
company.clj:1:1:错误:java.io.FileNotFoundException:在类路径:(company.clj:1)上找不到instaparse/core__init.class或instaparse/core.clj
编译失败。
我检查了项目的类路径,我认为instaparse应该在那里找到。
莱因·克拉斯帕特
C:\blake\test;C:\blake\src;C:\blake\dev-resources;C:\blake\resources;C:\blake\target\类;C:\users\maciej.m2\repository\instaparse\instaparse\1.1.0\instaparse-1.1.0.jar;C:\users\maciej.m2\repository\org\clojure\clojure-contrib\1.2.0\clojure-contrib\1.2.0.jar;
知道我做错了什么吗?
更新
我更新了lein类路径的结果。之前,我已经粘贴了旧的结果。
下面是一个工作样例项目:
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"]])
您不需要contrib的行,现在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'+"))
REPL:
#<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陌生解决检查表:
我正在测试Clojure/Java互操作。我创建了一个新的Leiningen项目并创建了这个项目。clj文件以及我将使用的几个依赖项: 我还包含了“java-Source-路径”列表,并将一个hello.java文件放入src/java目录,如下所示: 然后我创造了这个核心。模板中的clj文件: 如您所见,我甚至没有在应用程序函数中使用hello java类,我只是需要它,但当我在终端中运行“le
PHPCMS v9 安装环境要求 PHPCMS V9基于PHP+MYSQL环境运行 操作系统 linux 或者 windows Web Server Apache、IIS 、Nginx或其他 Web Server PHP版本 PHP 5以上版本 MYSQL版本 MySql 4.1以上版本相关扩展功能 项目 状态 MYSQL扩展 必须开启 JSON扩展 必须开启 ICONV 必须开启 GD库 必须开
我正在尝试使用和(使用Mac w/Catalina 10.15.1)运行简单的PDF到excel转换: 无论何时运行此代码,都会出现相同的错误: 我已经安装了最新版本的java,苹果支持人员告诉我,Catalina不支持java网站在遇到此错误时建议使用的旧版java 6。有什么解决办法吗?
本文向大家介绍clojure 安装与设定,包括了clojure 安装与设定的使用技巧和注意事项,需要的朋友参考一下 示例 选项1:莱宁根 需要JDK 6或更高版本。 开始使用Clojure的最简单方法是下载并安装Leiningen,这是管理Clojure项目的事实上的标准工具,然后运行lein repl以打开REPL。 的Linux OS X 请遵循上述Linux步骤或使用macOS软件包管理器进
Windows用户 Windows用户只能使用windows版本的Workerman(Workerman-for-win)。 1、需要PHP>=5.3.3,并配置好PHP的环境变量。 2、Windows版本的Workerman不依赖任何扩展。 3、安装使用以及注意事项参见这里。 ====本页面以下只适用于Linux用户,Windows用户请忽略。 ==== Linux用户(含Mac OS) Lin
问题内容: CLASSPATH的路径之一是“ / Users / smcho / Desktop / clojure”,并且此目录中有文件hello.clj。 运行clojure和运行(要求’hello)会给出此错误消息。 当我将目录更改为“ /Users/…/clojure”并运行相同文件(要求“ hello”)时,没有问题。的。在CLASSPATH上。 跑步 也可以。 为什么Clojure在C