Я попытался поместить clojure-contrib.jar в различные места в моей файловой системе, я попытался вручную указать путь к классу при запуске REPL, я попытался извлечь jar и поместить файлы clj в путь к классам, похоже, ничего не работает. Я продолжаю получать что-то вроде этого:
java.io.FileNotFoundException: Could not locate clojure/contrib/str_utils__init.
class or clojure/contrib/str_utils.clj on classpath: (NO_SOURCE_FILE:0)
Когда я выполняю (println (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))
, чтобы увидеть путь к классу, он включает clojure-contrib:
(#<URL file:/C:/Program%20Files/Java/jre1.6.0_06/lib/clojure-1.0.0.
jar> ... #<URL file:/C:/Program%20Files/Java/jre1.6.0_06/lib/clojure-contrib.jar>)
Когда я делаю собственный файл .clj и помещаю его в путь к классам, я могу использовать его или требовать, и у меня есть доступ к его функциям, как я и ожидал.
Если я перемещаю файл .clj - например, str-utils.clj - в pwd (который находится на пути к классам), он работает - он, по крайней мере, находит файл, хотя обычно с ним ничего не может поделать из-за зависимостей от других функций, скрытых в clojure-contrib, которые он не может найти.
Есть идеи, почему это не сработает для clojure-contrib?