Как вы можете контролировать порядок компиляции в 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
    ;...
  ]

0 ответов

Другие вопросы по тегам