Как вы можете контролировать порядок компиляции в leininigen?
Это должно быть простой проблемой для решения, но каждый раз, когда я пытаюсь скомпилировать, я получаю класс не найденных исключений, вызванных тем, что leininigen пытается скомпилировать классы в неправильном порядке. Я дошел до того, что пытался явно определить классы порядка, которые должны быть скомпилированы в файле project.clj, используя :aot, но это игнорируется. Файлы, получающие исключения класса 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
;...
]