Импорт функций clojure из jar-файлов - PullRequest
3 голосов
/ 22 июля 2010

Я играю с Clojure и не могу понять, как импортировать функцию из clojure-contrib.jar. Работая с этим ответом, я делаю следующее:

Запуск REPL примерно так:

 java -cp clojure.jar:clojure-contrib.jar clojure.main

Затем пытаемся импортировать функцию:

user=>  (use '[clojure-contrib.duck-streams :only (writer reader)])

Это не работает, и я получаю следующую ошибку:

java.io.FileNotFoundException: не удалось найти clojure_contrib / duck_streams__init.class или clojure_contrib / duck_streams.clj на пути к классам: (NO_SOURCE_FILE: 0)

Попытка использовать точку вместо тире также не работает:

user=>  (use '[clojure.contrib.duck-streams :only (writer reader)])

Я получаю в основном ту же ошибку:

java.io.FileNotFoundException: Не удалось найти clojure / contrib / duck_streams__init.class или clojure / contrib / duck_streams.clj на пути к классам: (NO_SOURCE_FILE: 0)

Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 22 июля 2010

clojure.jar и clojure-contrib.jar в вашем текущем рабочем каталоге? Если нет, вам нужно указать полный путь к файлам JAR в CLASSPATH.

1 голос
/ 23 июля 2010

Это должно работать

(use 'clojure.contrib)

У меня нет сейчас под рукой clojure для проверки, но

(use 'clojure.contrib :only (writer reader))

также должно работать

0 голосов
/ 22 июля 2010

Это clojure.contrib, а не clojute-contrib.Примечание точка против черты.

...