Создайте файл src/user/MyException.clj
(где src
включен CLASSPATH
), содержащий:
(ns user.MyException
(:gen-class :extends java.lang.Exception))
Проверьте значение *compile-path*
в REPL.Убедитесь, что этот каталог существует и находится на CLASSPATH
.Создайте каталог, если он не существует;Clojure не сделает этого за вас.
user> *compile-path*
"/home/user/foo/target/classes/"
user> (System/getProperty "java.class.path")
".......:/home/user/foo/target/classes/:......."
Скомпилируйте ваш класс:
user> (compile 'user.MyException)
user.MyException
Если это сработало, в *compile-path*
теперь у вас должны быть файлы, например, такие:*
/home/user/foo/target/
/home/user/foo/target/classes
/home/user/foo/target/classes/user
/home/user/foo/target/classes/user/MyException.class
/home/user/foo/target/classes/user/MyException__init.class
/home/user/foo/target/classes/user/MyException$loading__4410__auto__.class
Перезагрузите Clojure REPL / JVM, чтобы загрузить эти классы.Опять же, убедитесь, что эти новые файлы классов находятся на CLASSPATH
.Теперь вы сможете использовать свой класс:
user> (user.MyException.)
#<MyException user.MyException>