使用带有emacs clojure / cider模式和REPL的本地jar文件

时间:2014-07-12 22:21:38

标签: emacs clojure classpath leiningen cider

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

创建本地jar文件

我从书籍Programming Clojure 2nd Ed下载了样本源,并使用lein jar命令创建了一个jar文件。

使用本地jar文件

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

在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 / cider

的Is

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

我编写了这段代码,并使用C-x C-e执行了它。

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

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

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

classpath:

可能有什么问题?

1 个答案:

答案 0 :(得分:1)

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

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

查看nshere的一些使用示例。

此外,通常在命名空间中至少有两个段。例如,你可以mynamespace.t