Это должна быть простая проблема для решения, но каждый раз, когда я пытаюсь скомпилировать, я получаю исключения class not found, вызванные тем, что leininigen пытается скомпилировать классы в неправильном порядке. Я зашел так далеко, что попытался явно определить классы порядка, которые должны быть скомпилированы в файле project.clj, используя :aot, но это игнорируется. Файлы, получающие исключения class not found, имеют операторы :require в объявлении ns, но они также игнорируются. Как изменить порядок компиляции?
Я использовал lein clean, потому что у меня были устаревшие классы, которые система отказывалась перезаписывать, и теперь она вообще не компилируется. Я очень расстраиваюсь из-за этого языка, потому что кажется, что ничего не работает так, как должно.
Вот пример ошибки, которую я получаю (заменил базовое пространство имен на )
Exception in thread "main" java.lang.NoClassDefFoundError: <MyProject>/util$loading__4910__auto__, compiling:(obj.clj:1:1)
Файл, в котором он терпит неудачу, содержит ...
(ns <MyProject>.obj
(:gen-class)
(:require <MyProject>.util)
)
util.clj содержит...
(ns <MyProject>.util
(:gen-class)
)
project.clj содержит...
:aot [
;...
<MyProject>.util
<MyProject>.obj
;...
]