Вы не правильно называете свои пространства имен!
Вы должны сделать что-то вроде этого:
;;; in file src/apprunner/core.clj
;;; (namespace names should contain at least one dot for things
;;; not to go into the default package... or some such thing)
(ns apprunner.core
(:use apprunner.functions)
;;; the rest of your code for this file follows unchanged
;;; in file src/apprunner/functions.clj
(ns apprunner.functions
(:use clojure.contrib.duck-streams))
;;; the rest of your code for this file follows unchanged
Выполнение вышеуказанного в REPL ((use 'apprunner.core)
и т. Д.) У меня нормально работает.
Чтобы подвести итог, в чем заключалась проблема: имена пространств имен должны содержать точки, где пути к файлам, определяющим их, содержат косую черту / обратную косую черту (я не имею в виду относительные пути - относительно некоторого каталога, который на самом деле находится на Путь к классам). Кроме того, каталог src/
- это каталог, который вы помещаете в путь к классам, поэтому вы не включаете часть src.
в имена вашего пространства имен. Смотрите, например пример src/foo/bar/baz.clj
против foo.bar.baz
в моем ответе на ваш предыдущий вопрос .
Да, и, кстати, выяснить путь к классу сложно, точка. Поэтому будьте уверены, что вас не обескураживают подобные проблемы! :-) Возможно, вы захотите включить информацию о том, как вы выполняете свой код, если у вас есть больше вопросов, касающихся пространства имен или пути к классам, или если вышеприведенное не решит проблему для вас.