当前位置: 首页 > 知识库问答 >
问题:

Clojure的:要求和安装

邢鸿博
2023-03-14

我正在尝试将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类路径的结果。之前,我已经粘贴了旧的结果。

共有1个答案

严正初
2023-03-14

下面是一个工作样例项目:

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陌生解决检查表:

  • 运行lein deps并重新启动NREPL/Emacs
  • Lein清除并重新启动NREPL/Emacs
  • 删除本地库目录(lein v1.x)
  • 删除我的本地maven存储库并运行lein deps
 类似资料:
  • 我正在测试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