1

我正在尝试使用其他 jar 文件中的函数。

创建本地jar文件

我从Programming Clojure 2nd Ed一书中下载了示例源代码,并使用lein jar命令创建了一个 jar 文件。

使用本地jar文件

根据这篇文章的提示,我将 jar 文件复制到lib/目录中,然后我可以添加 :resource-paths ["lib/programming-clojure-1.3.0.jar"]到 project.clj 中。

在 REPL 中测试

使用lein classpath命令,我可以检查 jar 文件是否在类路径中。有了lein repl,我可以使用 jar 文件中的函数。

mire=> (require '[examples.introduction :as e])
nil
mire=> (take 10 examples.introduction/fibs)
(0 1 1 2 3 5 8 13 21 34)

与 emacs/苹果酒有关的问题

我在目录中创建了一个 t.clj 源src/,使用 启动 emacs emacs src/t.clj &,并使用 启动 REPL M-x cider-jack-in

我写了这段代码,并用C-x C-e.

(ns t (:require '[示例/介绍 :as ex]))

但是,我收到一条消息,指出找不到该文件。

java.io.FileNotFoundException: Could not locate introduction__init.class or introduction.clj on    

类路径:

可能有什么问题?

4

1 回答 1

2

命名空间是examples.introduction. 此外,您不需要在ns宏内引用向量。尝试:

(ns t (:require [examples.introduction :as ex]))

在此处ns查看宏的一些使用示例。

此外,习惯上在命名空间中至少有两个段。例如,您的可能是mynamespace.t

于 2014-07-12T23:10:46.237 回答