Не удается получить clojure-contrib для загрузки - FileNotFoundException - PullRequest
6 голосов
/ 01 декабря 2009

Я попытался поместить 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?

1 Ответ

2 голосов
/ 01 декабря 2009

Если вы скомпилировали свой собственный jar clojure-contrib, вы, вероятно, использовали основную ветку, которая не совместима с 1.0.

Следуйте указаниям Использование clojure-contrib с документом Clojure 1.0 , чтобы получить версию тега 1.0 с тегом clojure-contrib.

Существует также ветка git clojure-contrib , которая поддерживает совместимость 1.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...